Ticket #67 (closed enhancement: fixed)

Opened 12 months ago

Last modified 12 months ago

Debugger should translate method names

Reported by: stephan Owned by: stephan
Priority: major Milestone: OTDT_1.1.7
Component: debug Version: 1.1.6
Keywords: Cc:

Description

In the debug view names of generated/transformed methods are exposed untranslated as they are in the byte code.

This should be enhanced in at least two ways:

  • reverse engineer names of translated methods (i.e., methods for which source exists)
  • indicate what is happening in purely generated stack frames

Names that should be covered by bullet 1:

  • _OT$bm$orig (orig wrapper created by OTRE)
  • _OT$R$rm$bm (team callin wrapper)
  • _OT$rm$base (base call surrogate)

Operations that should be subject to bullet 2:

  • _OT$bm$chain (general callin dispatching code)
  • _OT$liftTo$R (lifting)

...

Attachments

debugview-old.png (44.4 kB) - added by stephan 12 months ago.
old displaying
debugview-new.png (48.3 kB) - added by stephan 12 months ago.
new displaying
screen3.png (21.2 kB) - added by stephan 12 months ago.
new presentation in the debug view (winXP)

Change History

Changed 12 months ago by stephan

old displaying

Changed 12 months ago by stephan

new displaying

Changed 12 months ago by stephan

  • owner set to stephan
  • status changed from new to assigned

r17914 gives an initial implementation, illustrated by the following screenshots:

old

(simply disabled the new feature in the TeamMonitor? view ;-) old displaying

note these:

  • ugly method names of liftTo method and callin wrapper _OT$Subscriber$buy$book
  • ugly signature of enhanced method (here: callin wrapper): (.., Team[], int[], int, int, int, Object[], ..)
  • missing method names in some frames (precisely those frames that have an SMAP)

new

new displaying

improved

  • nicer display of purely generated: {{Lift to R}}, {{Dispatch book}}
  • fancy display of callin wrapper [Subscriber.buy<-book]
  • retrenched method names: (orig and base call, not shown here)
  • no more stack frames without method name

degraded

  • ugly <unknown receiving type>

not yet

  • would like to convert 6553x line numbers to something readable
  • would like to mark purely generated codes in a lighter color.

Changed 12 months ago by stephan

  • milestone set to OTDT_1.1.7

Changed 12 months ago by stephan

new presentation in the debug view (winXP)

Changed 12 months ago by stephan

  • status changed from assigned to closed
  • resolution set to fixed

r17396 brings several improvements:

new presentation in the debug view (winXP)

  • no more <unknown receiving type>, which was caused by an exception trying to find a this reference in generated frames. No need to bother, just use the declaring type instead.
  • in doubly enhanced callin methods two sets of enhancement args are discarde
  • don't display magic line numbers 65533/65534, but write not available
  • added coloring
    • distinguish generated code (see {{Dispatch book}} lines in the screenshot) and special OT/J source code (callin bindings, etc.)
    • these colors are configurable via
      Windows->Preferences->General->Appearance->Colors and Fonts->Debug

Note, that due to Eclipse bug 215792 coloring in the debug view does not work in kubuntu feisty (don't know about other linux's).

Changed 12 months ago by stephan

Ups, the correct reference to the fix is r17936

Note: See TracTickets for help on using tickets.