-- Aubrey McIntosh, Ph.D. 1502 Devon Circle Austin TX 78723-1814 http://home.grandecom.net/~amcintosh/aubrey/Search/ ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})LISTS.OBERON.CH nu.&I8^x: z{mʗbqb z{m}ޝxjǺ z{Ch+bv!~)^{\rtf1\ansi\ansicpg1252\fromtext \deff0{\fonttbl {\f0\fswiss\fcharset0 Arial;} {\f1\fmodern Courier New;} {\f2\fnil\fcharset2 Symbol;} {\f3\fmodern\fcharset0 Courier New;} {\f4\fswiss\fcharset128 MS Mincho;} {\f5\fswiss\fcharset134 SimSun;}} {\colortbl\red0\green0\blue0;\red0\green0\blue255;} \uc1\pard\plain\deftab360 \f0\fs20 about BB/Obern light weight source debugger:\par \par I know the common interactive debuggers(delphi,C++)usually create \par a new app(process) as debugger process! \par \par But a BB/oberon module only run in a same process of the framework!\par \par \par some idea about BB/Obern light weight source debugger:\par If We can: \par 0, add a watcher for debugger thread in framework main loop;\par 1,add a new a debugg thread for this(or those)debugModelist,like Kernel.Try.\par 2,add a new marker type for breakpoint,compiler will output a trap instruction.\par 3,rewrite the Kernel.TrapHandler to hadle debuger trap: show source Caret,update\par stack trap view(var view,code view...), handle keyboard message....,\par \par then we can do a debug task in framework:\par 1, choose debugModelist,set breakpoint(or single step debug).\par 2,Debuger.Try Module.Command\par 3, run to breakpoint(or single step debug),Debuger.TrapHandler take over work,after update it's stack view,jumpto framework loop, wait for\par keyboard shortcut to continue! \par 4,press F8,F7..for next breakpoint or sinle step..\par 5,stop the debug thread or Moudle.Command end or Debuger.Try end.\par \par \par p.s: single step use BB code file's ref block.\par \par \par How to build a window's debugger ?? I have not any debugger knowledge. \par \par welcome any suggestion!\par \par \par \par \par \par \htmlrtf{\f4\fs20\htmlrtf0 ----- \'8c\'b4\'95\'b6 ----- \htmlrtf\f0}\htmlrtf0 \par \htmlrtf{\f5\fs20\htmlrtf0 \'b7\'a2\'bc\'fe\'c8\'cb: Aubrey.McIntosh{([at]})ALUMNI.UTEXAS.NET \htmlrtf\f0}\htmlrtf0 \par \htmlrtf{\f5\fs20\htmlrtf0 \'d6\'f7\'a1\'a1\'cc\'e2: Re: [BLACKBOX] Possible compiler bug ?\htmlrtf\f0}\htmlrtf0 \par \htmlrtf{\f5\fs20\htmlrtf0 \'ca\'b1\'a1\'a1\'bc\'e4: 2011\'c4\'ea12\'d4\'c220\'c8\'d5 10:28:46\htmlrtf\f0}\htmlrtf0 \par \par The source debugger idea arises every few years. The members close to ETH express a fairly strong view that interactive debuggers lead to poor design practices, and that the trap viewer works very well. We found and fixed a compiler error in only a few email messages in 48 hours, this is astonishing.\par \par I sometimes wonder about a special marker so that we can recompile a source to set (multiple) breakpoints, but an ASSERT(~debugThis IN debugModelist)works with the system as it is, preserves an audit trail. I put such constants in a bottom level module.\par \par \par \par -- \par Aubrey McIntosh, Ph.D.\par 1502 Devon Circle\par Austin TX 78723-1814\par http://home.grandecom.net/~amcintosh/aubrey/Search/\par \par \par \par ----\par To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})LISTS.OBERON.CH}}nu.&I8^x:Received on Tue Dec 20 2011 - 09:50:23 UTC
This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:09 UTC