-
Bug
-
Resolution: Fixed
-
P4
-
None
-
b17
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8302031 | 17.0.8-oracle | Adithya Haradi Gopal | P4 | Resolved | Fixed | b01 |
JDK-8303558 | 17.0.7 | Goetz Lindenmaier | P4 | Resolved | Fixed | b05 |
see test/jdk/com/sun/jdi/RedefineTTYLineNumber.java
after class redifinition (redefine <class> <.class file>) jdb reports correct line number, but incorrect source:
==========================================
[jdb] main[1]
> stop in RedefineTTYLineNumberTarg.A
[jdb] Deferring breakpoint RedefineTTYLineNumberTarg.A.
[jdb] It will be set after the class is loaded.
[jdb] main[1]
> run
[jdb] > Set deferred breakpoint RedefineTTYLineNumberTarg.A
[jdb]
[jdb] Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=50 bci=0
[jdb] 50 System.out.println("expected statement printed by jdb");
[jdb]
[jdb] main[1]
> redefine RedefineTTYLineNumberTarg .\\ver1\\RedefineTTYLineNumberTarg.class
[jdb] main[1]
> pop
[jdb] main[1]
> stop in RedefineTTYLineNumberTarg.A
[jdb] Set breakpoint RedefineTTYLineNumberTarg.A
[jdb] main[1]
> cont
[jdb] >
[jdb] Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=49 bci=0
[jdb] 49 public void A() {
[jdb]
[jdb] main[1]
==========================================
2nd breakpoint reported:
[jdb] Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=49 bci=0
[jdb] 49 public void A() {
And it should be
[jdb] Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=49 bci=0
[jdb] 49 System.out.println("expected statement printed by jdb");
after class redifinition (redefine <class> <.class file>) jdb reports correct line number, but incorrect source:
==========================================
[jdb] main[1]
> stop in RedefineTTYLineNumberTarg.A
[jdb] Deferring breakpoint RedefineTTYLineNumberTarg.A.
[jdb] It will be set after the class is loaded.
[jdb] main[1]
> run
[jdb] > Set deferred breakpoint RedefineTTYLineNumberTarg.A
[jdb]
[jdb] Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=50 bci=0
[jdb] 50 System.out.println("expected statement printed by jdb");
[jdb]
[jdb] main[1]
> redefine RedefineTTYLineNumberTarg .\\ver1\\RedefineTTYLineNumberTarg.class
[jdb] main[1]
> pop
[jdb] main[1]
> stop in RedefineTTYLineNumberTarg.A
[jdb] Set breakpoint RedefineTTYLineNumberTarg.A
[jdb] main[1]
> cont
[jdb] >
[jdb] Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=49 bci=0
[jdb] 49 public void A() {
[jdb]
[jdb] main[1]
==========================================
2nd breakpoint reported:
[jdb] Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=49 bci=0
[jdb] 49 public void A() {
And it should be
[jdb] Breakpoint hit: "thread=main", RedefineTTYLineNumberTarg.A(), line=49 bci=0
[jdb] 49 System.out.println("expected statement printed by jdb");
- backported by
-
JDK-8302031 JDB tests do not update source path after doing a redefine class
-
- Resolved
-
-
JDK-8303558 JDB tests do not update source path after doing a redefine class
-
- Resolved
-
- relates to
-
JDK-4660756 TTY: Need to clear source cache after doing a redefine class
-
- Resolved
-
- links to
-
Commit openjdk/jdk17u-dev/181a7bb3
-
Commit openjdk/jdk/61ac53f6
-
Review openjdk/jdk17u-dev/1190
-
Review openjdk/jdk/5664
(2 links to)