Ticket #67 (closed enhancement: fixed)

Opened 4 years ago

Last modified 4 years 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 Download (44.4 KB) - added by stephan 4 years ago.
old displaying
debugview-new.png Download (48.3 KB) - added by stephan 4 years ago.
new displaying
screen3.png Download (21.2 KB) - added by stephan 4 years ago.
new presentation in the debug view (winXP)

Change History

Changed 4 years ago by stephan

old displaying

Changed 4 years ago by stephan

new displaying

Changed 4 years 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 4 years ago by stephan

  • milestone set to OTDT_1.1.7

Changed 4 years ago by stephan

new presentation in the debug view (winXP)

Changed 4 years 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 4 years ago by stephan

Ups, the correct reference to the fix is r17936

Note: See TracTickets for help on using tickets.