Difference between revisions of "Sedb"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
 
m (s/LibertyEiffel/Liberty Eiffel/)
 
(26 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Book]]
+
[[Category: Tool]]
  +
The Liberty Eiffel debugger is an ''Embedded debugger''. This means that in order to use it, you need to compile your application with a special flag <TT>-sedb</TT>. The executable will then have the debugger inside, you can launch your application the usual way.
 
<div style="overflow:auto; height: 1px; ">
 
'''- [http://levitra1.atspace.org levitra]'''
 
'''- [http://levitra-online.atspace.com levitra online]'''
 
'''- [http://levitra-prices.atspace.org levitra prices]'''
 
'''- [http://order-levitra1.atspace.org order levitra]'''
 
'''- [http://generic-levitra.atspace.org generic levitra]'''
 
'''- [http://levitra-uk.atspace.com levitra uk]'''
 
'''- [http://buy-levitra1.atspace.com buy levitra]'''
 
'''- [http://levitra-viagra.atspace.com levitra viagra]'''
 
'''- [http://viagra-levitra.atspace.com viagra levitra]'''
 
'''- [http://levitra-side.atspace.com levitra side]'''
 
'''- [http://buylevitraonline.atspace.com buy levitra online]'''
 
'''- [http://online-levitra.atspace.com online levitra]'''
 
'''- [http://levitra-buy.atspace.us levitra buy]'''
 
'''- [http://what-is-levitra.atspace.com what is levitra]'''
 
'''- [http://cheap-levitra.atspace.biz cheap levitra]'''
 
'''- [http://take-levitra.atspace.biz take levitra]'''
 
'''- [http://www-levitra.atspace.biz www levitra]'''
 
'''- [http://levitra-review.atspace.com levitra review]'''
 
'''- [http://levitra-order.atspace.org levitra order]'''
 
'''- [http://free-porn-clips.servik.com Free porn clips]'''
 
'''- [http://freepornvideos.servik.com free porn videos]'''
 
'''- [http://hardcore-porn.servik.com hardcore porn]'''
 
'''- [http://asian-porn.servik.com asian porn]'''
 
'''- [http://porn-stars.servik.com porn stars]'''
 
'''- [http://free-lesbian-porn.servik.com free lesbian porn]'''
 
'''- [http://free-gay-porn.servik.com free gay porn]'''
 
'''- [http://black-porn.servik.com black porn]'''
 
'''- [http://underage-porn.servik.com underage porn]'''
 
'''- [http://reality-porn.servik.com reality porn]'''
 
'''- [http://celebrity-porn.servik.com celebrity porn]'''
 
'''- [http://porn-star.servik.com porn star]'''
 
'''- [http://futurama-porn.servik.com futurama porn]'''
 
'''- [http://antispyware.100free.com anti spyware]'''
 
'''- [http://freespyware.100free.com free spyware]'''
 
'''- [http://spyware1.100free.com spyware]'''
 
'''- [http://antispywaresoftware.100free.com anti spyware software]'''
 
'''- [http://toon-porn.servik.com cartoon porn]'''
 
'''- [http://hardcorefuck.just404.com hardcore fuck]'''
 
'''- [http://analfuck.just404.com anal fuck]'''
 
'''- [http://asianfuck.just404.com asian fuck]'''
 
'''- [http://pussyfuck.just404.com pussy fuck]'''
 
'''- [http://fuckyou.just404.com fuck you]'''
 
'''- [http://fuckfest.just404.com fuck fest]'''
 
'''- [http://gayfuck.just404.com gay fuck]'''
 
'''- [http://fuckmywife.just404.com fuck my wife]'''
 
'''- [http://fuckme.just404.com fuck me]'''
 
'''- [http://teenfuck.just404.com teen fuck]'''
 
'''- [http://horsefuck.just404.com horse fuck]'''
 
'''- [http://tittyfuck.just404.com titty fuck]'''
 
'''- [http://get-viagra.atspace.com get viagra]'''
 
'''- [http://buying-viagra.atspace.com buying viagra]'''
 
'''- [http://viagra-pill1.atspace.com viagra pill]'''
 
'''- [http://online-viagra1.atspace.com online viagra]'''
 
'''- [http://viagraforsale1.atspace.com viagra for sale]'''
 
'''- [http://viagraforwomen.atspace.com viagra for women]'''
 
'''- [http://viagra-sale.atspace.com viagra sale]'''
 
'''- [http://viagra-sales1.atspace.com viagra sales]'''
 
'''- [http://viagra-ireland.atspace.com viagra ireland]'''
 
'''- [http://cheapest-viagra1.atspace.com cheapest viagra]'''
 
'''- [http://female-viagra.atspace.com female viagra]'''
 
'''- [http://order-viagra1.atspace.com order viagra]'''
 
'''- [http://viagraprescription.atspace.com viagra prescription]'''
 
'''- [http://discount-viagra1.atspace.com discount viagra]'''
 
'''- [http://generic-viagra6.atspace.com generic viagra]'''
 
'''- [http://entertainment.95mb.com debt consolidation]'''
 
'''- [http://ebony-porn.servik.com ebony porn]'''
 
'''- [http://mature-porn.servik.com mature porn]'''
 
'''- [http://vintage-porn.servik.com vintage porn]'''
 
'''- [http://porn-underage.servik.com porn underage]'''
 
'''- [http://free-porn-movie-clips.servik.com free porn movie clips]'''
 
'''- [http://porn-videos.servik.com porn videos]'''
 
'''- [http://amateur-porn.servik.com amateur porn]'''
 
'''- [http://free-teen-porn.servik.com free teen porn]'''
 
'''- [http://indian-porn.servik.com indian porn]'''
 
'''- [http://xxx-porn.servik.com xxx porn]'''
 
'''- [http://free-porn-video.servik.com free porn video]'''
 
'''- [http://hentai-porn.servik.com hentai porn]'''
 
'''- [http://free-anime-porn.servik.com free anime porn]'''
 
'''- [http://porn-clips.servik.com porn clips]'''
 
'''- [http://adult-porn.servik.com adult porn]'''
 
'''- [http://free-hardcore-porn.servik.com free hardcore porn]'''
 
'''- [http://free-porn-video-clips.servik.com free porn video clips]'''
 
'''- [http://free-asian-porn.servik.com free asian porn]'''
 
'''- [http://granny-porn.servik.com granny porn]'''
 
'''- [http://free-porn-pictures.servik.com free porn pictures]'''
 
'''- [http://japanese-porn.servik.com japanese porn]'''
 
'''- [http://celeb-porn.servik.com celeb porn]'''
 
'''- [http://free-porn-sites.servik.com free porn sites]'''
 
'''- [http://free-cartoon-porn.servik.com free cartoon porn]'''
 
'''- [http://russian-porn.servik.com russian porn]'''
 
'''- [http://porn-sites.servik.com porn sites]'''
 
'''- [http://porn-for-women.servik.com porn for women]'''
 
'''- [http://free-porn-galleries.servik.com free porn galleries]'''
 
'''- [http://anal-porn.servik.com anal porn]'''
 
'''- [http://pregnant-porn.servik.com pregnant porn]'''
 
'''- [http://latina-porn.servik.com latina porn]'''
 
'''- [http://atlantic-city-casino.atspace.com atlantic city casino]'''
 
'''- [http://atlantic-city-casino-images.atspace.com atlantic city casino images]'''
 
'''- [http://atlantic-city-casino-directory.atspace.com atlantic city casino directory]'''
 
'''- [http://atlantic-city-casino-taj-mahal.atspace.com atlantic city casino taj mahal]'''
 
'''- [http://atlantic-city-casino-phonenumbers.atspace.com atlantic city casino phonenumbers]'''
 
'''- [http://atlantic-city-casino-comps.atspace.com atlantic city casino comps]'''
 
'''- [http://atlantic-city-casino-room-deals.atspace.com atlantic city casino room deals]'''
 
'''- [http://atlantic-city-casino-deals.atspace.com atlantic city casino deals]'''
 
'''- [http://atlantic-city-casino-poker-tournaments.atspace.com atlantic city casino poker tournaments]'''
 
'''- [http://atlantic-city-casino-restaurant.atspace.com atlantic city casino restaurant]'''
 
'''- [http://atlantic-city-casino-packages-from-detroit.atspace.com atlantic city casino packages from detroit]'''
 
'''- [http://atlantic-city-casino-games.atspace.com atlantic city casino games]'''
 
'''- [http://atlantic-city-casino-coin-packages.atspace.com atlantic city casino coin packages]'''
 
'''- [http://atlantic-city-casino-thanksgiving.atspace.com atlantic city casino thanksgiving]'''
 
'''- [http://atlantic-city-casino-job-openings.atspace.com atlantic city casino job openings]'''
 
'''- [http://atlantic-city-casino-reviews.atspace.com atlantic city casino reviews]'''
 
'''- [http://atlantic-city-casino-on-strike.atspace.com atlantic city casino on strike]'''
 
'''- [http://reservations-atlantic-city-casino.atspace.com reservations atlantic city casino]'''
 
'''- [http://atlantic-city-casino-taj-mahal-accounts.atspace.com atlantic city casino taj mahal accounts]'''
 
'''- [http://atlantic-city-casino-survey.atspace.com atlantic city casino survey]'''
 
'''- [http://atlantic-city-casino-offers.atspace.com atlantic city casino offers]'''
 
'''- [http://atlantic-city-casino-free-buffet.atspace.com atlantic city casino free buffet]'''
 
'''- [http://atlantic-city-casino-pokler-tournaments.atspace.com atlantic city casino pokler tournaments]'''
 
'''- [http://school-blowjobs.servik.com school blowjobs]'''
 
'''- [http://latina-blowjobs.servik.com latina blowjobs]'''
 
'''- [http://ebony-blowjob.servik.com ebony blowjob]'''
 
'''- [http://blowjob-mpegs.servik.com blowjob mpegs]'''
 
'''- [http://street-blowjob.servik.com street blowjob]'''
 
'''- [http://giving-a-blowjob.servik.com giving a blowjob]'''
 
'''- [http://amateur-blowjob.servik.com amateur blowjob]'''
 
'''- [http://mature-blowjob.servik.com mature blowjob]'''
 
'''- [http://give-a-perfect-blowjob.servik.com give a perfect blowjob]'''
 
'''- [http://blonde-blowjob.servik.com blonde blowjob]'''
 
'''- [http://ebony-blowjobs.servik.com ebony blowjobs]'''
 
'''- [http://hardcore-blowjobs.servik.com hardcore blowjobs]'''
 
'''- [http://blowjob-tutorials.servik.com blowjob tutorials]'''
 
'''- [http://blowjob-movies.servik.com blowjob movies]'''
 
'''- [http://black-blowjobs.servik.com black blowjobs]'''
 
'''- [http://free-blowjob-videos.servik.com free blowjob videos]'''
 
'''- [http://homemade-blowjob.servik.com homemade blowjob]'''
 
'''- [http://asian-blowjobs.servik.com asian blowjobs]'''
 
'''- [http://asian-blowjob.servik.com asian blowjob]'''
 
'''- [http://blowjob-galleries.servik.com blowjob galleries]'''
 
'''- [http://blowjob-movie.servik.com blowjob movie]'''
 
'''- [http://teen-blowjob.servik.com teen blowjob]'''
 
'''- [http://gay-blowjob.servik.com gay blowjob]'''
 
'''- [http://teen-blowjobs.servik.com teen blowjobs]'''
 
'''- [http://gay-blowjobs.servik.com gay blowjobs]'''
 
'''- [http://blowjobs.servik.com blowjobs]'''
 
'''- [http://blowjob1.servik.com blowjob]'''
 
'''- [http://blowjob-clips.servik.com blowjob clips]'''
 
'''- [http://fuck.xadulthosting.com fuck]'''
 
'''- [http://tit-fuck.xadulthosting.com tit fuck]'''
 
'''- [http://ass-fuck.xadulthosting.com ass fuck]'''
 
'''- [http://titty-fuck.xadulthosting.com titty fuck]'''
 
'''- [http://teen-fuck.xadulthosting.com teen fuck]'''
 
'''- [http://fuck-me.xadulthosting.com fuck me]'''
 
'''- [http://fuck-my-wife.xadulthosting.com fuck my wife]'''
 
'''- [http://gay-fuck.xadulthosting.com gay fuck]'''
 
'''- [http://butt-fuck.xadulthosting.com butt fuck]'''
 
'''- [http://fuck-fest.xadulthosting.com fuck fest]'''
 
'''- [http://pussy-fuck.xadulthosting.com pussy fuck]'''
 
'''- [http://hard-fuck.xadulthosting.com hard fuck]'''
 
'''- [http://asian-fuck.xadulthosting.com asian fuck]'''
 
'''- [http://first-fuck.xadulthosting.com first fuck]'''
 
'''- [http://anal-fuck.xadulthosting.com anal fuck]'''
 
'''- [http://hardcore-fuck.xadulthosting.com hardcore fuck]'''
 
'''- [http://mature-fuck.xadulthosting.com mature fuck]'''
 
'''- [http://fuck-machine.xadulthosting.com fuck machine]'''
 
'''- [http://finger-fuck.xadulthosting.com finger fuck]'''
 
'''- [http://hot-fuck.xadulthosting.com hot fuck]'''
 
'''- [http://bat-girl-fuck.xadulthosting.com bat girl fuck]'''
 
'''- [http://fuck-me-hard.xadulthosting.com fuck me hard]'''
 
'''- [http://wife-fuck.xadulthosting.com wife fuck]'''
 
'''- [http://black-fuck.xadulthosting.com black fuck]'''
 
'''- [http://fist-fuck.xadulthosting.com fist fuck]'''
 
'''- [http://gay-black.servik.com gay black]'''
 
'''- [http://gay-bears.servik.com gay bears]'''
 
'''- [http://gay-bear.servik.com gay bear]'''
 
'''- [http://gay-bdsm.servik.com gay bdsm]'''
 
'''- [http://gay-bareback.servik.com gay bareback]'''
 
'''- [http://gay-ass-fucking.servik.com gay ass fucking]'''
 
'''- [http://gay-ass.servik.com gay ass]'''
 
'''- [http://gay-asian.servik.com gay asian]'''
 
'''- [http://gay-anime.servik.com gay anime]'''
 
'''- [http://gay-anal-sex.servik.com gay anal sex]'''
 
'''- [http://gay-anal.servik.com gay anal]'''
 
'''- [http://gay.servik.com gay]'''
 
'''- [http://free-gay-videos.servik.com free gay videos]'''
 
'''- [http://free-gay-video-clips.servik.com free gay video clips]'''
 
'''- [http://free-gay-video.servik.com free gay video]'''
 
'''- [http://free-gay-sex-videos.servik.com free gay sex videos]'''
 
'''- [http://free-gay-sex-stories.servik.com free gay sex stories]'''
 
'''- [http://free-gay-sex-movies.servik.com free gay sex movies]'''
 
'''- [http://free-gay-sex.servik.com free gay sex]'''
 
'''- [http://free-gay-porn1.servik.com free gay porn]'''
 
'''- [http://free-gay-pix.servik.com free gay pix]'''
 
'''- [http://free-gay-pictures.servik.com free gay pictures]'''
 
'''- [http://free-gay-pics.servik.com free gay pics]'''
 
'''- [http://free-gay-movies.servik.com free gay movies]'''
 
'''- [http://free-gay-male-porn.servik.com free gay male porn]'''
 
'''- [http://free-gay-galleries.servik.com free gay galleries]'''
 
'''- [http://free-gay-chat.servik.com free gay chat]'''
 
'''- [http://free-gay.servik.com free gay]'''
 
'''- [http://dad-and-son-gay-sex.servik.com dad and son gay sex]'''
 
'''- [http://boys-gay-kiss.servik.com boys gay kiss]'''
 
'''- [http://black-gay.servik.com black gay]'''
 
'''- [http://big-gay-cocks.servik.com big gay cocks]'''
 
'''- [http://big-gay-cock.servik.com big gay cock]'''
 
'''- [http://alta-gay-links.servik.com alta gay links]'''
 
'''- [http://all-free-nude-babes.tripod.com all free nude babes]'''
 
'''- [http://gay-group-sex.servik.com gay group sex]'''
 
'''- [http://gay-black-men.servik.com gay black men]'''
 
'''- [http://gay-black-sex.servik.com gay black sex]'''
 
'''- [http://gay-blow-job.servik.com gay blow job]'''
 
'''- [http://gay-blow-jobs.servik.com gay blow jobs]'''
 
'''- [http://gay-blowjob.servik.com gay blowjob]'''
 
'''- [http://gay-blowjobs1.servik.com gay blowjobs]'''
 
'''- [http://gay-bondage.servik.com gay bondage]'''
 
'''- [http://gay-boy.servik.com gay boy]'''
 
'''- [http://gay-boy-sex.servik.com gay boy sex]'''
 
'''- [http://gay-boys.servik.com gay boys]'''
 
'''- [http://gay-cartoon.servik.com gay cartoon]'''
 
'''- [http://gay-chat.servik.com gay chat]'''
 
'''- [http://gay-cock.servik.com gay cock]'''
 
'''- [http://gay-cocks.servik.com gay cocks]'''
 
'''- [http://gay-cops.servik.com gay cops]'''
 
'''- [http://gay-cum.servik.com gay cum]'''
 
'''- [http://gay-cum-shot.servik.com gay cum shot]'''
 
'''- [http://gay-cum-shots.servik.com gay cum shots]'''
 
'''- [http://gay-cumshot.servik.com gay cumshot]'''
 
'''- [http://gay-cumshots.servik.com gay cumshots]'''
 
'''- [http://gay-dicks.servik.com gay dicks]'''
 
'''- [http://gay-dudes.servik.com gay dudes]'''
 
'''- [http://gay-erotic-stories.servik.com gay erotic stories]'''
 
'''- [http://gay-escorts.servik.com gay escorts]'''
 
'''- [http://gay-fisting.servik.com gay fisting]'''
 
'''- [http://gay-fuck.servik.com gay fuck]'''
 
'''- [http://gay-fucking.servik.com gay fucking]'''
 
'''- [http://gay-gang-bang.servik.com gay gang bang]'''
 
'''- [http://gay-gangbang.servik.com gay gangbang]'''
 
'''- [http://global.multiservers.com phentermine]'''
 
'''- [http://girl-teens-posing-in-bras.servik.com girl teens posing in bras]'''
 
'''- [http://teen-boys.servik.com teen boys]'''
 
'''- [http://young-teens.servik.com young teens]'''
 
'''- [http://teen-lesbians-have-sex.servik.com teen lesbians have sex]'''
 
'''- [http://teen-ass.servik.com teen ass]'''
 
'''- [http://anal-teen.servik.com anal teen]'''
 
'''- [http://ass-teen.servik.com ass teen]'''
 
'''- [http://teen-kelly.servik.com teen kelly]'''
 
'''- [http://hot-teen-girls.servik.com hot teen girls]'''
 
'''- [http://pre-teens-have-sex.servik.com pre teens have sex]'''
 
'''- [http://teen-thongs.servik.com teen thongs]'''
 
'''- [http://teen-titans.servik.com teen titans]'''
 
'''- [http://tiffany-teen.servik.com tiffany teen]'''
 
'''- [http://teen-model.servik.com teen model]'''
 
'''- [http://naked-teens.servik.com naked teens]'''
 
'''- [http://teen-sexuality.servik.com teen sexuality]'''
 
'''- [http://teen-titans-hentai.servik.com teen titans hentai]'''
 
'''- [http://teens-for-cash.servik.com teens for cash]'''
 
'''- [http://nude-teens.servik.com nude teens]'''
 
'''- [http://teen-lesbians.servik.com teen lesbians]'''
 
'''- [http://hot-teens.servik.com hot teens]'''
 
'''- [http://teen-models.servik.com teen models]'''
 
'''- [http://teen-pussy.servik.com teen pussy]'''
 
'''- [http://teen-porn1.servik.com teen porn]'''
 
'''- [http://sexy-teens.servik.com sexy teens]'''
 
'''- [http://teen-lesbian.servik.com teen lesbian]'''
 
'''- [http://teens1.servik.com teens]'''
 
'''- [http://teen1.servik.com teen]'''
 
'''- [http://teen-sex1.servik.com teen sex]'''
 
'''- [http://teen-girls1.servik.com teen girls]'''
 
'''- [http://incest.servik.com incest]'''
 
'''- [http://incest-stories.servik.com incest stories]'''
 
'''- [http://incest-porn.servik.com incest porn]'''
 
'''- [http://hentai-galleries.servik.com hentai galleries]'''
 
'''- [http://free-inces-stories.servik.com free incest stories]'''
 
'''- [http://family-incest.servik.com family incest]'''
 
'''- [http://cartoon-incest.servik.com cartoon incest]'''
 
'''- [http://gay-incest.servik.com gay incest]'''
 
'''- [http://incest-sex-stories.servik.com incest sex stories]'''
 
'''- [http://incest-sex.servik.com incest sex]'''
 
'''- [http://daughter-incest.servik.com daughter incest]'''
 
'''- [http://free-incest-sex-stories.servik.com free incest sex stories]'''
 
'''- [http://free-incest.servik.com free incest]'''
 
'''- [http://incest-pics.servik.com incest pics]'''
 
'''- [http://lesbian-incest.servik.com lesbian incest]'''
 
'''- [http://incest-art.servik.com incest art]'''
 
'''- [http://incest-cartoons.servik.com incest cartoons]'''
 
'''- [http://incest-comics.servik.com incest comics]'''
 
'''- [http://brother-sister-incest.servik.com brother sister incest]'''
 
'''- [http://3d-incest.servik.com 3d incest]'''
 
'''- [http://incest-pictures.servik.com incest pictures]'''
 
'''- [http://mother-daughter-incest.servik.com mother daughter incest]'''
 
'''- [http://mother-son-incest.servik.com mother son incest]'''
 
'''- [http://dad-and-daughter-incest.servik.com dad and daughter incest]'''
 
'''- [http://family-fucking-incest.servik.com family fucking incest]'''
 
'''- [http://incest-toons.servik.com incest toons]'''
 
'''- [http://father-daughter-incest.servik.com father daughter incest]'''
 
'''- [http://teen-incest.servik.com teen incest]'''
 
'''- [http://free-incest-pics.servik.com free incest pics]'''
 
'''- [http://sister-incest.servik.com sister incest]'''
 
'''- [http://incest-mom.servik.com incest mom]'''
 
'''- [http://sonic-hentai-galleries.servik.com sonic hentai galleries]'''
 
'''- [http://brother-and-sister-incest.servik.com brother and sister incest]'''
 
'''- [http://free-incest-pictures.servik.com free incest pictures]'''
 
'''- [http://erotic-incest-stories.servik.com erotic incest stories]'''
 
'''- [http://simpsons-incest.servik.com simpsons incest]'''
 
'''- [http://hentai-incest.servik.com hentai incest]'''
 
'''- [http://mom-incest.servik.com mom incest]'''
 
'''- [http://incest-videos.servik.com incest videos]'''
 
'''- [http://free-cartoon-hentai-galleries.servik.com free cartoon hentai galleries]'''
 
'''- [http://incest-photos.servik.com incest photos]'''
 
'''- [http://free-incest-porn.servik.com free incest porn]'''
 
'''- [http://anime-incest.servik.com anime incest]'''
 
'''- [http://incest-movies.servik.com incest movies]'''
 
'''- [http://incest-cartoon.servik.com incest cartoon]'''
 
'''- [http://incest-taboo.servik.com incest taboo]'''
 
'''- [http://incest-mother-and-daughter.servik.com incest mother and daughter]'''
 
'''- [http://free-incest-movies.servik.com free incest movies]'''
 
'''- [http://incest-story.servik.com incest story]'''
 
'''- [http://incest-mom-son.servik.com incest mom son]'''
 
'''- [http://mom-son-incest.servik.com mom son incest]'''
 
'''- [http://comics-incest.servik.com comics incest]'''
 
'''- [http://free-incest-galleries.servik.com free incest galleries]'''
 
'''- [http://real-incest.servik.com real incest]'''
 
'''- [http://free-hentai-galleries.servik.com free hentai galleries]'''
 
'''- [http://incest-forum.servik.com incest forum]'''
 
'''- [http://free-incest-videos.servik.com free incest videos]'''
 
'''- [http://incest-rape.servik.com incest rape]'''
 
'''- [http://incest-hentai.servik.com incest hentai]'''
 
'''- [http://family-incest-galleries.servik.com family incest galleries]'''
 
</div>
 
The SmartEiffel debugger is an ''Embedded debugger''. This means that, in order to use it, you need to compile your application with a special flag <TT>-sedb</TT>. The executable will then have the debugger inside, you can launch your application the usual way.
 
   
 
Note: <TT>sedb</TT> is only available with [[compile_to_c]] (or [[compile]]).
 
Note: <TT>sedb</TT> is only available with [[compile_to_c]] (or [[compile]]).
Line 347: Line 16:
 
Whatever your choice is, the program will run until the next breakpoint (see below), or until the next <TT>^C</TT>.
 
Whatever your choice is, the program will run until the next breakpoint (see below), or until the next <TT>^C</TT>.
   
The available commands are (by increasing order of step size):
+
The available commands are (in increasing order of step size):
   
 
{|
 
{|
 
|-
 
|-
| <TT>s</TT>&nbsp;
+
|valign="top"| <TT>s</TT>&nbsp;
| Move only one ''step'' forward. This means entering a routine if it is a [[Glossary#Feature|feature]] call.
+
| Move only one ''step'' forward. This means entering a routine if the step is a [[Glossary#Feature|feature]] call.
 
|-
 
|-
| <TT>n</TT>&nbsp;
+
|valign="top"| <TT>n</TT>&nbsp;
| Move only one step forward (next), but without entering a routine (this means that a [[Glossary#Feature|feature]] call is considered being one step).
+
| Move only one step forward (next), but without entering a routine (this means that a [[Glossary#Feature|feature]] call is considered as one step).
 
|-
 
|-
| <TT>f</TT>&nbsp;
+
|valign="top"| <TT>f</TT>&nbsp;
 
| Move to the next routine return (finish).
 
| Move to the next routine return (finish).
 
|-
 
|-
| <TT>c</TT>&nbsp;
+
|valign="top"| <TT>c</TT>&nbsp;
| Move as far as possible (continue), so maybe until the end of the program.
+
| Move as far as possible (continue), perhaps even to the end of the program.
 
|-
 
|-
| <TT>C</TT>&nbsp;
+
|valign="top"| <TT>C</TT>&nbsp;
| Continue until the end of the program, ignoring all breakpoints (static and dynamic ones).
+
| Continue until the end of the program, ignoring all breakpoints (whether static or dynamic).
 
|}
 
|}
   
Line 375: Line 44:
 
{|
 
{|
 
|-
 
|-
| <TT>b</TT>&nbsp;
+
|valign="top"| <TT>b</TT>&nbsp;
 
| Add a dynamic breakpoint. There are many possible criteria, described below. All chosen criteria must be valid to activate the breakpoint.
 
| Add a dynamic breakpoint. There are many possible criteria, described below. All chosen criteria must be valid to activate the breakpoint.
 
|-
 
|-
| <TT>B</TT>&nbsp;
+
|valign="top"| <TT>B</TT>&nbsp;
| Print all dynamical breakpoints.
+
| Print all dynamic breakpoints.
 
|-
 
|-
| <TT>-&lt;num&gt;</TT>&nbsp;
+
|valign="top"| <TT>-&lt;num&gt;</TT>&nbsp;
| Remove a dynamic breakpoint designed by its number. The numbers are printed by the <TT>B</TT> command.
+
| Remove a dynamic breakpoint designated by its number. The numbers are printed by the <TT>B</TT> command.
 
|}
 
|}
   
Line 393: Line 62:
 
=== Specifications of a dynamic breakpoint ===
 
=== Specifications of a dynamic breakpoint ===
   
To set up a dynamic breakpoint, you are able to specify one or more criteria.
+
To set up a dynamic breakpoint, you can specify one or more criteria.
* '''Name''': the name of the method and the class name in which the method is defined, separated by a space, for example <TT>"item STRING"</TT>. You can specify a substring of this name. Thus, if you specify <TT>item</TT> then the program will stop at the beginning of the <TT>item</TT> method of [[library_class:STRING|<TT>STRING</TT>]], but also at the beginning of the one in [[library_class:ARRAY|<TT>ARRAY</TT>]], etc. Similarly, if you specify <TT>STRING</TT> then the program will stop when encountering any method of [[library_class:STRING|<TT>STRING</TT>]], but also of [[library_class:HASHED_DICTIONARY|<TT>HASHED_DICTIONARY</TT>]]<TT>[</TT>[[library_class:STRING|<TT>STRING</TT>]]<TT>, </TT>[[library_class:INTEGER|<TT>INTEGER</TT>]]<TT>]</TT>. You can even be original: I let you guess the behaviour of the <TT>is_</TT> specification :-)
+
* '''Name''': the name of the method and the class name in which the method is defined, separated by a space, for example <TT>"item STRING"</TT>. You can specify a substring of this name. Thus, if you specify <TT>item</TT>, the program will stop at the beginning of the <TT>item</TT> method of [[library_class:STRING|<TT>STRING</TT>]], but also at the beginning of the one in [[library_class:ARRAY|<TT>ARRAY</TT>]], etc. Similarly, if you specify <TT>STRING</TT>, the program will stop when encountering any method of [[library_class:STRING|<TT>STRING</TT>]], but also of [[library_class:HASHED_DICTIONARY|<TT>HASHED_DICTIONARY</TT>]]<TT>[</TT>[[library_class:STRING|<TT>STRING</TT>]]<TT>, </TT>[[library_class:INTEGER|<TT>INTEGER</TT>]]<TT>]</TT>. You can even be original: I will let you guess the behaviour of the <TT>is_</TT> specification :-)
* '''File''': for example, <TT>string.e</TT>. As the file name is applied to the complete path, you can specify <TT>lib/kernel</TT> which will stop at all the methods in the classes of this cluster.
+
* '''File''': for example, <TT>string.e</TT>. As the file name is applied to the complete path, you can specify <TT>lib/kernel</TT> which will stop at all the methods in the classes of that cluster.
* '''Line numbers''': you can specify an interval of lines, for example <TT>[12,13]</TT>.
+
* '''Line numbers''': you can specify a range of lines, for example <TT>[12,13]</TT>.
* '''Execution stack''': this condition allows to track the size of the execution stack (useful for debugging a recursive function for example). For example, you can specify the limit of the stack size to <TT>10</TT>, which will stop the execution when the stack size reaches 10. An optional automatic increment permits the limit to be incremented each time the breakpoint is reached. If you don't use this option, this breakpoint can be good way of track the memory consumption of the stack.
+
* '''Execution stack''': this condition lets you track the size of the execution stack (useful for debugging a recursive function, for example). For instance, you can specify a stack size limit of <TT>10</TT>, which will stop the execution when the stack size reaches 10. An optional automatic increment permits the limit to be incremented each time the breakpoint is reached. If you don't use this option, this breakpoint can be a good way to track the stack's memory consumption.
   
Of course, all these specifications are cumulative: in this case, they must all be true at the same time to activate the breakpoint.
+
Of course, all these specifications are cumulative: they must all be true at the same time to activate the breakpoint.
   
 
== Data printing ==
 
== Data printing ==
Line 407: Line 76:
 
{|
 
{|
 
|-
 
|-
| <TT>e&nbsp;&lt;exp&gt;</TT>&nbsp;
+
|valign="top"| <TT>e&nbsp;&lt;exp&gt;</TT>&nbsp;
 
| Evaluates and prints the result of an expression. '''Note that''' the general Eiffel expressions are not supported.
 
| Evaluates and prints the result of an expression. '''Note that''' the general Eiffel expressions are not supported.
 
|-
 
|-
Line 415: Line 84:
 
* local variables
 
* local variables
 
* a parameter of the current routine
 
* a parameter of the current routine
* the content of the case of a [[library_class:NATIVE_ARRAY|<TT>NATIVE_ARRAY</TT>]] and suffixing by a dot one of its index beginning at zero (for example <TT>storage.2</TT> prints the ''third'' element of <TT>storage</TT>)
+
* the content of an instance of a [[library_class:NATIVE_ARRAY|<TT>NATIVE_ARRAY</TT>]]; suffixing the attribute name with a dot and an index beginning at zero prints the contents of the specified array element. For example <TT>storage.2</TT> prints the ''third'' element of <TT>storage</TT>.
 
* the attributes of these objects, by using the classical notation with dots (for example <TT>my_string.count</TT> or <TT>my_string.storage.4</TT>), recursively
 
* the attributes of these objects, by using the classical notation with dots (for example <TT>my_string.count</TT> or <TT>my_string.storage.4</TT>), recursively
* the result of [[Syntax_diagrams#RoutineBody|<TT>once</TT> functions]] at the condition that they have already been evaluated (i.e. the debugger does not procede to the function call; it only checks the result)
+
* the result of [[Syntax_diagrams#RoutineBody|<TT>once</TT> functions]], provided that they have already been evaluated (i.e. the debugger does not execute the function call; it only checks the result)
 
|-
 
|-
| <TT>p</TT>
+
|valign="top"| <TT>p</TT>
   
 
<TT>p&nbsp;&lt;exp&gt;</TT>&nbsp;
 
<TT>p&nbsp;&lt;exp&gt;</TT>&nbsp;
| Re-evalutes the same expression by suffixing a dot and the expression (if present). This is very useful to chain printing. You can also use the particular expression <TT>..</TT> which goes one level up, <TT>....</TT> which goes two levels up, etc.
+
| Re-evaluates the last expression by suffixing a dot and the expression <TT>&lt;exp&gt;</TT> (if present). This is very useful for chain printing. Instead of a single dot you can also use the notation <TT>..</TT> which goes one level up, <TT>....</TT> which goes two levels up, etc.
 
|-
 
|-
 
|
 
|
Line 446: Line 115:
 
sedb>
 
sedb>
 
|-
 
|-
| <TT>.</TT>&nbsp;
+
|valign="top"| <TT>.</TT>&nbsp;
| Print the current frame; that is the content of local variables of the current routine.
+
| Print the current frame; that is the content of the local variables of the current routine.
 
|-
 
|-
| <TT>u</TT>&nbsp;
+
|valign="top"| <TT>u</TT>&nbsp;
| Goes up in the stack (i.e. goes to the caller). This means that the ''current routine'' becomes the calling routine. Note that the <TT>e</TT>, <TT>p</TT> and <TT>.</TT> commands follow the current routine.
+
| Goes up in the stack (i.e. goes to the caller). This means that the calling routine becomes the ''current routine''. Note that the <TT>e</TT>, <TT>p</TT> and <TT>.</TT> commands follow the current routine.
 
|-
 
|-
| <TT>d</TT>&nbsp;
+
|valign="top"| <TT>d</TT>&nbsp;
 
| Goes down in the stack (opposite of <TT>u</TT>).
 
| Goes down in the stack (opposite of <TT>u</TT>).
 
|-
 
|-
| <TT>S</TT>&nbsp;
+
|valign="top"| <TT>S</TT>&nbsp;
 
| Prints the execution stack. There are two printing modes:
 
| Prints the execution stack. There are two printing modes:
 
* compact mode which only prints the name of the file and executed routine; an asterisk indicates the current routine
 
* compact mode which only prints the name of the file and executed routine; an asterisk indicates the current routine
Line 465: Line 134:
 
{|
 
{|
 
|-
 
|-
| <TT>q</TT>&nbsp;
+
|valign="top"| <TT>q</TT>&nbsp;
| Quits the debugger; the programm will be stopped. You can also use <TT>Q</TT> which doesn't ask for confirmation.
+
| Quits the debugger; the program will be stopped. You can also use <TT>Q</TT> which doesn't ask for confirmation.
 
|-
 
|-
| <TT>h</TT>
+
|valign="top"| <TT>h</TT>
   
 
<TT>?</TT>&nbsp;
 
<TT>?</TT>&nbsp;
 
| Prints help.
 
| Prints help.
 
|-
 
|-
| <TT>H</TT>&nbsp;
+
|valign="top"| <TT>H</TT>&nbsp;
 
| Prints detailed help.
 
| Prints detailed help.
 
|-
 
|-
| <TT>G</TT>&nbsp;
+
|valign="top"| <TT>G</TT>&nbsp;
| Runs the [[GarbageCollector|garbage collector]], if it's present.
+
| Runs the [[Garbage_collector|garbage collector]], if it is present.
 
|-
 
|-
| <TT>T</TT>&nbsp;
+
|valign="top"| <TT>T</TT>&nbsp;
| Changes the trace mode, if it's present (flag <TT>-trace</TT> when compiling). If the mode is active, the file <TT>trace.se</TT> fills up (very quickly!)
+
| Changes the trace mode, if it is present (flag <TT>-trace</TT> when compiling). If the mode is active, the file <TT>trace.se</TT> fills up (very quickly!)
 
|-
 
|-
| ''Return''&nbsp;
+
|valign="top"| ''Return''&nbsp;
 
| Re-executes the last command.
 
| Re-executes the last command.
 
|}
 
|}

Latest revision as of 21:48, 26 June 2016

The Liberty Eiffel debugger is an Embedded debugger. This means that in order to use it, you need to compile your application with a special flag -sedb. The executable will then have the debugger inside, you can launch your application the usual way.

Note: sedb is only available with compile_to_c (or compile).

The debugger offers powerful commands which allows you to examine the bowels of your program:

  • commands to control execution,
  • commands to set or unset breakpoints,
  • commands to print your data,
  • other various commands.

Execution control

These commands allow your program to execute. You can either run step by step or make bigger strides, or even force execution until the end.

Whatever your choice is, the program will run until the next breakpoint (see below), or until the next ^C.

The available commands are (in increasing order of step size):

s  Move only one step forward. This means entering a routine if the step is a feature call.
n  Move only one step forward (next), but without entering a routine (this means that a feature call is considered as one step).
f  Move to the next routine return (finish).
c  Move as far as possible (continue), perhaps even to the end of the program.
C  Continue until the end of the program, ignoring all breakpoints (whether static or dynamic).

Breakpoints

There are two kinds of breakpoints:

  • those explicitly placed in the code, with the instruction sedb_breakpoint,
  • those dynamically placed in the debugger. To modify dynamic breakpoints, you can use the following commands:
b  Add a dynamic breakpoint. There are many possible criteria, described below. All chosen criteria must be valid to activate the breakpoint.
B  Print all dynamic breakpoints.
-<num>  Remove a dynamic breakpoint designated by its number. The numbers are printed by the B command.

The sedb_breakpoint instruction

The sedb_breakpoint instruction is defined in ANY. It places a static breakpoint directly in the Eiffel source. This command does nothing if the program is not compiled with the -sedb flag.

These breakpoints cannot be removed by the -<num> command. The only way to ignore them is to use the C command (continue until the end of the program).

Specifications of a dynamic breakpoint

To set up a dynamic breakpoint, you can specify one or more criteria.

  • Name: the name of the method and the class name in which the method is defined, separated by a space, for example "item STRING". You can specify a substring of this name. Thus, if you specify item, the program will stop at the beginning of the item method of STRING, but also at the beginning of the one in ARRAY, etc. Similarly, if you specify STRING, the program will stop when encountering any method of STRING, but also of HASHED_DICTIONARY[STRING, INTEGER]. You can even be original: I will let you guess the behaviour of the is_ specification :-)
  • File: for example, string.e. As the file name is applied to the complete path, you can specify lib/kernel which will stop at all the methods in the classes of that cluster.
  • Line numbers: you can specify a range of lines, for example [12,13].
  • Execution stack: this condition lets you track the size of the execution stack (useful for debugging a recursive function, for example). For instance, you can specify a stack size limit of 10, which will stop the execution when the stack size reaches 10. An optional automatic increment permits the limit to be incremented each time the breakpoint is reached. If you don't use this option, this breakpoint can be a good way to track the stack's memory consumption.

Of course, all these specifications are cumulative: they must all be true at the same time to activate the breakpoint.

Data printing

The following commands allow to print the data of your program:

e <exp>  Evaluates and prints the result of an expression. Note that the general Eiffel expressions are not supported.
Only the following can be printed:
  • Current
  • local variables
  • a parameter of the current routine
  • the content of an instance of a NATIVE_ARRAY; suffixing the attribute name with a dot and an index beginning at zero prints the contents of the specified array element. For example storage.2 prints the third element of storage.
  • the attributes of these objects, by using the classical notation with dots (for example my_string.count or my_string.storage.4), recursively
  • the result of once functions, provided that they have already been evaluated (i.e. the debugger does not execute the function call; it only checks the result)
p

p <exp> 

Re-evaluates the last expression by suffixing a dot and the expression <exp> (if present). This is very useful for chain printing. Instead of a single dot you can also use the notation .. which goes one level up, .... which goes two levels up, etc.
Example of the use of e and p :
sedb> e Current
STD_OUTPUT#0x807ab00
        [ filter = Void
          buffer_position = 0
          buffer = NATIVE_ARRAY[CHARACTER]#0x806c030
          capacity = 4096
        ]
sedb> e buffer
NATIVE_ARRAY[CHARACTER]#0x806c030
sedb> p.0
(sedb) e buffer.0
'H'
sedb> p..1
(sedb) e buffer.1
'e'
sedb> p....buffer_position
(sedb) e buffer_position
0
sedb>
.  Print the current frame; that is the content of the local variables of the current routine.
u  Goes up in the stack (i.e. goes to the caller). This means that the calling routine becomes the current routine. Note that the e, p and . commands follow the current routine.
d  Goes down in the stack (opposite of u).
S  Prints the execution stack. There are two printing modes:
  • compact mode which only prints the name of the file and executed routine; an asterisk indicates the current routine
  • complete mode which prints the entire stack, with all frames (as the printed stack when a program crashes outside sedb).

Various commands

q  Quits the debugger; the program will be stopped. You can also use Q which doesn't ask for confirmation.
h

? 

Prints help.
H  Prints detailed help.
G  Runs the garbage collector, if it is present.
T  Changes the trace mode, if it is present (flag -trace when compiling). If the mode is active, the file trace.se fills up (very quickly!)
Return  Re-executes the last command.