Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debugger maintaince (2020) #455

Merged
merged 6 commits into from
Mar 7, 2020
Merged

Conversation

dkimitsa
Copy link
Contributor

@dkimitsa dkimitsa commented Feb 6, 2020

  • fixed: debugger crash resolving Thread objects that wasn't started
  • improvement: debugger reports now only line number where breakpoint can be hit
  • improvement: Idea settings: debugger/stepping filter -- extended with dalvik.*, libcore.*
  • improvement: removed synthetic bro-bridges/bro-callbacks from back-stack entries
  • fixed: not working step-out (if stepping out into ignored class)

…herwise breakpoint in one line loops will not fire while stepping. Code sample

while(true)
   foo(); // breakpoint here
…at were instrumented with hooks and where breakpoint can be set.

This improves usability and IDE will mark breakpoint as invalid if debugger can't stop there. To support this bptable now filled with values, where bits set to 1 (bp enabled) at lines that not being instrumented. during runtime this will not have affect as there was not hook code injected for these lines, but debugger will read bptable from executable to find out what lines are available
…top in dalvik.*, libcore.* classes when stepping. user might disable these settings in preferences.
…k stack as these provide no information or source code location
…lasses configured to be ignored (this class was picked as target for back stack and then event was dropped and not delivered to JDWP client)
@dkimitsa
Copy link
Contributor Author

dkimitsa commented Feb 6, 2020

details with images in post

@Tom-Ski Tom-Ski merged commit ea83291 into MobiVM:jdk12 Mar 7, 2020
@dkimitsa dkimitsa deleted the jdk12_debugger_maintaince branch March 8, 2020 12:46
dkimitsa added a commit to dkimitsa/robovm that referenced this pull request Apr 9, 2020
* * breakpoints should be checked before spepping (even if stepping) otherwise breakpoint in one line loops will not fire while stepping. Code sample
while(true)
   foo(); // breakpoint here

* * debugger: fixed bug when debugger was crashing on resolving Thread objects

* * debugger: method line table handler updated to return only lines that were instrumented with hooks and where breakpoint can be set.
This improves usability and IDE will mark breakpoint as invalid if debugger can't stop there. To support this bptable now filled with values, where bits set to 1 (bp enabled) at lines that not being instrumented. during runtime this will not have affect as there was not hook code injected for these lines, but debugger will read bptable from executable to find out what lines are available

* * debugger: adding to debugger stepping configuration filter to not stop in dalvik.*, libcore.* classes when stepping. user might disable these settings in preferences.

* debugger: added filter to skip synthetic bridges and callbacks in back stack as these provide no information or source code location

* * debugger: fixed not working step-out in case back stack contained classes configured to be ignored (this class was picked as target for back stack and then event was dropped and not delivered to JDWP client)
dkimitsa added a commit to dkimitsa/robovm that referenced this pull request Apr 9, 2020
* * breakpoints should be checked before spepping (even if stepping) otherwise breakpoint in one line loops will not fire while stepping. Code sample
while(true)
   foo(); // breakpoint here

* * debugger: fixed bug when debugger was crashing on resolving Thread objects

* * debugger: method line table handler updated to return only lines that were instrumented with hooks and where breakpoint can be set.
This improves usability and IDE will mark breakpoint as invalid if debugger can't stop there. To support this bptable now filled with values, where bits set to 1 (bp enabled) at lines that not being instrumented. during runtime this will not have affect as there was not hook code injected for these lines, but debugger will read bptable from executable to find out what lines are available

* * debugger: adding to debugger stepping configuration filter to not stop in dalvik.*, libcore.* classes when stepping. user might disable these settings in preferences.

* debugger: added filter to skip synthetic bridges and callbacks in back stack as these provide no information or source code location

* * debugger: fixed not working step-out in case back stack contained classes configured to be ignored (this class was picked as target for back stack and then event was dropped and not delivered to JDWP client)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants