Commit Graph

4948 Commits

Author SHA1 Message Date
Maksim Zuev
dd4705d51f [debugger] IJPL-158332 Compile and reload only modified files during hot swap
GitOrigin-RevId: 6b7522904b2e796b1e75b745017da70eb9b74281
2024-07-29 11:21:53 +00:00
Maksim Zuev
bb43d09386 [debugger] IJPL-158332 Hot swap button in a floating toolbar when source changes are detected
GitOrigin-RevId: f9ac6cbaa0ebdb0d7893e3c644b650d4317aef86
2024-07-29 11:21:53 +00:00
Maksim Zuev
3ad0ea6d85 [debugger] Add callback on value computation
* fix flaky test org.jetbrains.kotlin.idea.debugger.test.InlineScopesAndK1IdeK2CodeEvaluateExpressionTestGenerated.SingleBreakpoint.Coroutines.Uncategorized.testAccessClassPropertyInSuspendFunction

GitOrigin-RevId: 643f2b54ead68cda51676a4005fafae48cad755b
2024-07-25 17:11:16 +00:00
Vladimir Krivosheev
caf660475b IJPL-158075 SingleEdtTaskScheduler as a safe and efficient solution for old UI code
we cannot create child scope as not all clients pass disposable and/or call `Alarm.dispose`

GitOrigin-RevId: 6513eff48043a5c8ced15c9b5449eaab2842a0af
2024-07-24 19:28:11 +00:00
Alexey Merkulov
c67a833362 [debugger] Improve attachment naming for debugger problems
GitOrigin-RevId: bafecf8783221d0663e28b9f29335b99ffed8214
2024-07-23 18:43:42 +00:00
Alexey Merkulov
94704d2a77 [debugger] Reduce debugger registries
Registry FALSE value of the debugger.always.suspend.thread.before.switch registry is merged to debugger.how.to.switch.to.suspend.ala as DISABLE option

GitOrigin-RevId: 2ec66611c6b8f4803e717ea92e230ecaa96ce527
2024-07-22 18:16:02 +00:00
Alexey Merkulov
3083290bb2 [debugger] Switching to suspend-all refactoring: simplify and remove support of some registry combinations
Relay on switching-to-suspend-all and remove half-solutions when that logic was applied only for coroutine stepping

GitOrigin-RevId: 33301b627da9bbe04b06086cfcd63d65de47e0a0
2024-07-20 12:19:51 +00:00
Egor Ushakov
a908d1d419 [debugger] fixing flaky DebuggerSessionTest.testPauseSession, do not log InterruptedException
GitOrigin-RevId: 87ef8fe9d18f8bab2acd25038775a61850a525de
2024-07-19 17:30:02 +00:00
Maksim Zuev
9179a7705b [debugger] Rename getVirtualMachine to getVirtualMachineProxy in SuspendContextImpl
GitOrigin-RevId: 97520328258e88a287293fd47315db1a35879064
2024-07-19 14:58:29 +00:00
Tagir Valeev
cb09d92da3 Remove redundant casts to FileEditorManagerImpl when calling getSelectedTextEditor(true)
GitOrigin-RevId: 093d3f1f01db47b41733a55031da58a141169af4
2024-07-18 15:24:17 +00:00
Egor Ushakov
ccf06c51ae [debugger] fixing flaky PacketsNumberTest* IDEA-354458 IJI-2040
GitOrigin-RevId: 86c55fb612d1c8863efb00e7749a41b398710c40
2024-07-17 18:59:43 +00:00
Vladimir Krivosheev
2a4cbab8c4 IJPL-158442 SingleAlarm is overkill - use EdtScheduledExecutorService instead
GitOrigin-RevId: 6c97e6d168ec34d927ee27a1f73240a786bd7ec9
2024-07-17 16:00:59 +00:00
Vladimir Parfinenko
9e1771d783 [debugger] utility function bugfix
getTextRangeWithoutTrailingComments("/* abc */") failed with NPE

GitOrigin-RevId: 7fe65638f0b41501e47d16fe71486b515087169c
2024-07-17 15:07:53 +00:00
Vladimir Parfinenko
d0ece29f80 [debugger] highlight only body of lambda breakpoint in Java, IDEA-355640
^IDEA-355640 fixed

GitOrigin-RevId: 51aff8802cb9d705e9f988adab5a7ee890fe8abb
2024-07-17 15:07:53 +00:00
Vladimir Parfinenko
409ef73450 [java to kotlin] debugger/JavaSourcePositionHighlighter
GitOrigin-RevId: f75f32918f551fef4b38e50461fa0702aa276cba
2024-07-17 15:07:53 +00:00
Maksim Zuev
e1784264ce [debugger] IDEA-349852 Fix project leak
GitOrigin-RevId: e2726afc92864500e2b1f7cbc3d37d41c9194e0e
2024-07-17 13:50:34 +00:00
Maksim Zuev
3f000e7a85 [debugger] IDEA-350301 Migrate to suspendContext.getVirtualMachine() instead of debugProcess.getVirtualMachineProxy()
GitOrigin-RevId: 3e9848d423b5824d1ab8657311983aed3e3a9340
2024-07-16 18:59:36 +00:00
Maksim Zuev
6d993c337d [debugger] IDEA-350301 Prefer VM access via suspend context as debug process may reattach to another VM
GitOrigin-RevId: 81b7a6525e1a066b7ac08c31d7fa678f52d66421
2024-07-16 18:59:36 +00:00
Egor Ushakov
e44f82261a [debugger] fixed flaky PacketsNumberTest IDEA-354458 IJI-2040
GitOrigin-RevId: 048eeaece9489ffa650746cb66a8dc08ac4490f6
2024-07-15 19:53:37 +00:00
Vladimir Krivosheev
7d4a9e6be6 do not mutate registry value cache on setValue, fix updating registry options
GitOrigin-RevId: 14b5ff51f4ff65d202696a159f1c0d965f8d6a9c
2024-07-13 17:25:38 +00:00
Alexey Merkulov
040bc8a1fc [debugger] Fix race condition after long suspend-all evaluation finished
EA-1277728

GitOrigin-RevId: 0416a0a25d88c132a07506bb278f4a09b71a9c63
2024-07-12 22:30:07 +00:00
Anna Kozlova
f1917ff153 [debugger] add RA
GitOrigin-RevId: 7376033912d53914d7513669624480761a837682
2024-07-11 20:56:03 +00:00
Alexey Merkulov
94e3c00eaa [debugger] Exclude technical threads from debugger model check
EA-1315500 EA-1329448

GitOrigin-RevId: 708894508fc5c3c967e1fc049462b11d8d963122
2024-07-11 14:19:53 +00:00
Maksim Zuev
10e3df2539 [debugger] IDEA-335193 Prevent jumps to the first line of a method with default args during step out
GitOrigin-RevId: 9ca6d699503fcf09a5aed2a618e3002e97f776f9
2024-07-10 15:56:39 +00:00
Alexey Merkulov
9592fceda6 [debugger] Implement additional logging for flaky tests
GitOrigin-RevId: ec1eb573ee756dc0d16ee0dcada086db0625e277
2024-07-10 00:03:28 +00:00
Alexey Merkulov
60ab01aec0 [debugger] More improvements into debug logging
GitOrigin-RevId: 458b9d527686a7f98614bdd6db9e1b8e1bf61247
2024-07-10 00:03:28 +00:00
Egor Ushakov
efcef5e620 EA-1335836 - AME: DebuggerCommandImpl.action
GitOrigin-RevId: e0a166dc44ce65006486fd1219cb485f6acf6410
2024-07-09 18:14:11 +00:00
Vladimir Krivosheev
1faf780399 build script downloader - switch to JDK engine as CIO doesn't support TLS 1.3
It leads to a duplicated ktor files in dist, but that is relatively ok

GitOrigin-RevId: 091579a4dae960415ad2ddbc2bbbfa92d75fbe65
2024-07-09 16:45:52 +00:00
Alexey Merkulov
b10dcf989d [debugger] Add more logging to investigate tests flaky behaviour
GitOrigin-RevId: d6c574500ba36c0937bd518af91dc250d2ee855a
2024-07-08 19:20:35 +00:00
Maksim Zuev
2ef0cc9fbb [debugger] IDEA-356023 Re-create coroutine scope on debugger manager thread restart
GitOrigin-RevId: e16dcc369d640e153e5a7ce2923ad45a130952b5
2024-07-08 19:06:52 +00:00
Tagir Valeev
d263e30396 Remove raw types in PopupStep#onChosen inheritors
GitOrigin-RevId: df36f1a249ab4d87c2d10e3d39c27f0351298921
2024-07-08 16:18:24 +00:00
Maksim Zuev
7c0cd2f2b3 [debugger] IDEA-355999 Do not report smart targets while not in internal mode
GitOrigin-RevId: 50b34d0adb087f6a08470cdde871a23cad3cc436
2024-07-08 10:34:38 +00:00
Alexey Merkulov
aa1785e808 [debugger] Fix error logging for initializing VM (EA-1271246)
GitOrigin-RevId: c61af35349efdcfddc193443db960d3f96153402
2024-07-05 18:20:58 +00:00
Alexey Merkulov
47dcb4d8e4 [debugger] Fix race when a thread name is requested while it is cleared from another DebuggerManagerThread
Also, remove dumping all threads suspend states before each evaluation

GitOrigin-RevId: 76a7e0e4c2c12f3c46db6c3d093b365fac394a29
2024-07-05 16:39:23 +00:00
Maksim Zuev
ae629825f0 [debugger] IDEA-355800 Fall back to signature check if light method match failed
GitOrigin-RevId: 438cd33e34961e738c92044f1b85911e744f704f
2024-07-04 11:09:48 +00:00
Alexey Merkulov
45ab1095cd [debugger] Implement immediate pause to switch from suspend-thread to suspend-all
It should fix a possible problem when the debugger never stops because of infinite conditional breakpoint evaluation (IDEA-355838). But it seems it adds some flaky behavior too into tests. So it is under the registry for now.

GitOrigin-RevId: 666654ea0006fa3ebb5bb6163045a7bbd11630a6
2024-07-03 22:22:01 +00:00
Alexey Merkulov
1ab24cd37c [debugger] Add more debug logging to investigate flaky behaviour
GitOrigin-RevId: 60f0177eada3f839343672a226fc253fa9456a9c
2024-07-03 22:22:01 +00:00
Alexey Merkulov
0a4bddf993 [debugger] Include attachments to the debugger errors
GitOrigin-RevId: 2d245c662ce6dce501cb13895e5866a6ffb1edbd
2024-07-03 12:50:37 +00:00
Alexey Merkulov
2d1d6a7aad [debugger] Improve debugger engine diagnostics
GitOrigin-RevId: e00bec75ce675cc40aae394c47e676219ff9bdab
2024-07-03 12:50:37 +00:00
Egor Ushakov
0b26408673 EA-840941 - T: ClassObjectRenderer$0.lambda$evaluate$0
GitOrigin-RevId: 54fb419838601ef89011f0d8638febbd84c8a6ff
2024-07-02 11:54:58 +00:00
Gregory.Shrago
92047f763d migrate getData to uiDataSnapshot: java
GitOrigin-RevId: 6917901f5fe425ee883779c2fc1775960c2af540
2024-07-01 17:55:51 +00:00
Egor Ushakov
14f97e2a1f [debugger] made DebuggerCommandImpl.action not abstract
GitOrigin-RevId: 7ba289df8f72fa586cc0916021e1ce98167f9bed
2024-06-28 16:57:34 +00:00
Egor Ushakov
aa2343c112 [debugger] restored async stack traces
GitOrigin-RevId: 379113ab94e0c16e70441caa3d56a0485cf0e465
2024-06-28 16:57:34 +00:00
Egor Ushakov
b103326863 IDEA-354542 Slow frame location resolve blocks the debugger
Rename methods

Fix debugger process await

Force stop debug process in tests

Do not create additional thread

fixing tests: wait for the debug process to stop

Test hotfix: await debugger thread complete

Introduce DebuggerCompletableFuture

fixing tests: do not rely that much on invokeRatherLater

fixing tests: command cancel may happen off debugger manager thread

added experimental annotations

Add DebuggerDispatcherTest

removed debugProcess param

reduce methods visibility

Call continuation in case of command cancellation

Fix test: call continuation in any case

Clean up

Unify invokeWithChecks

introduced onSuspend

Invoke resume in tests only after all commands complete

[debugger] IDEA-354542 Remove unused constructor parameter

Close test debugger manager thread on dispose

Close debugger manager thread in tests

Add extra check to the continuation set

Fix project leak in test, set up test disposable for DebuggerManagerThread

Launch single command once

Fix API test

Fix test: request source position from debugger manager thread

Clean up code

Clean up command scope creation

SuspendContextCommand logic should be skipped on coroutine resume

cancel coroutine scope in finally block

handle command cancellation

Rename .java to .kt

Fix read action

Start as completable future

Run with commands

Use coroutines in FileApplicabilityChecker

handle exceptions like before

Launch with dispatch

make internal

allow the dispatcher to work without a command in context

renamed debugger thread dispatcher

Add coroutines util functions

Wrap into readAction-s

Extract caching code in CompoundPositionManager

Small code clean up

minimize changes

IDEA-354542 Slow frame location resolve blocks the debugger - introduced PositionManagerAsync


Co-authored-by: Maksim Zuev <Maksim.Zuev@jetbrains.com>

Merge-request: IJ-MR-136324
Merged-by: Maksim Zuev <Maksim.Zuev@jetbrains.com>

GitOrigin-RevId: d78e8514b89afdde6bc710bb322d67ddea6449e8
2024-06-27 20:27:29 +00:00
Tagir Valeev
9b8d299c1e Warnings fixed (i18n+others)
GitOrigin-RevId: 404f67f93b6c8d0df6ed13774791fc2d12b613cc
2024-06-27 11:21:13 +00:00
Tagir Valeev
19fb624028 [java] Use PsiUtil.getContainingClass instead of ClassUtils.getContainingClass
GitOrigin-RevId: f8a6abc7358a2c39dc4c50deaabe14c676f0977c
2024-06-26 11:52:02 +00:00
Maksim Zuev
7a22187670 [debugger] Fix statistics event name
GitOrigin-RevId: 46cf584a04429cf52667c45e024aa3bf70716bb4
2024-06-26 09:43:07 +00:00
Alexey Merkulov
5c0f8ae463 [debugger] Add registry to enable full JDI logging in unit tests
GitOrigin-RevId: 81b33b35bbd8e9f3e2c31e8bbee7c85e0b3462fd
2024-06-25 14:34:58 +00:00
Dmitry Pogrebnoy
93e715683e [Feedback] EA-1296862 Add kotlin serialization plugin
GitOrigin-RevId: c785715d4cbed7a04ac2f42150a72cab0b1bb8b8
2024-06-24 14:35:56 +00:00
Alexey Merkulov
d418e03406 [debugger] Add more debug logging about suspend-context processing
GitOrigin-RevId: c7a2617c8e3976460f99365aeb4e64f6582a9ed7
2024-06-24 10:53:04 +00:00