Commit Graph

5082 Commits

Author SHA1 Message Date
Maksim Zuev
ba1db90b28 [debugger] IDEA-366895 Debugger: collect performance statistics on the command execution time
(cherry picked from commit 1de07f7dba0a674838012e1ba228c3356febf93e)

GitOrigin-RevId: b809e4cd32925e534ed853b497dc5ff6aa5f49e5
2025-02-26 15:52:59 +00:00
Alexey.Merkulov
4c5fca5bc6 [debugger] Refactoring: move utility method to common debugger module
(cherry picked from commit 6f6e50e992fe534f44636136d36c1e53067329b4)


IJ-CR-151042

GitOrigin-RevId: 80c7d32c3b8b297a01e46ed4170a4abe0f2adf0f
2024-12-09 18:30:49 +00:00
Alexey.Merkulov
0dbb5fdb10 [debugger] Make EvaluationContextImpl to be UserDataHolder and add evaluation origin to it
IDEA-362361

(cherry picked from commit de48128651bafab7f170ca204c58adafe4fda403)


IJ-CR-151042

GitOrigin-RevId: 7b7ff87217b5ab89ba068c9177774a997951f1e9
2024-12-09 18:30:49 +00:00
Alexey Merkulov
720ce629f0 [debugger] IDEA-361080 Add workaround to fix ObjectCollectedException during evaluating conditional breakpoints
(cherry picked from commit 9922fc513d0c4e4d7daa4cc89d078fbb6b5a8f72)

IJ-CR-147314

GitOrigin-RevId: ffc72ca98c6b98842cde50e1a9e76f88c89f9228
2024-11-21 16:24:36 +00:00
Alexey Merkulov
5d73c19f18 [debugger] Increase trys on ObjectCollectedException before suspend-all evaluation applied
Such low-level suspend-all evaluation is dangerous because it can lead to deadlock in the user application without a way to restore


(cherry picked from commit 371320ba59de3c5f16c2fb7d455a0f662221cf45)

IJ-CR-147314

GitOrigin-RevId: c07aa55155db8b2a0568b62a4afdad20f40f654f
2024-11-21 16:24:35 +00:00
Egor Ushakov
1097e6a771 fixes for IJ-CR-147189
(cherry picked from commit bf02e3a97601b4252d80157b132a5960069bba9f)

IJ-CR-147195

GitOrigin-RevId: 7d789a44df27bf81f3d8dfaa0091af4074688049
2024-11-19 13:50:21 +00:00
Egor Ushakov
478ed5f349 IDEA-360567 Evaluate expression, where array is cast to subtype array inside a lambda that returns the cast result, results in EvaluateException
(cherry picked from commit c7e27f136dadd2d028eedda594b20a9111bbbe4e)

IJ-CR-147195

GitOrigin-RevId: 20f27cd9dfdd918ed4dc4567977b24793ac6a23b
2024-11-19 13:50:21 +00:00
Maksim Zuev
a2dbe7a527 [debugger] IDEA-361675 Fix API compatibility DebugProcessImpl.StepOutCommand
(cherry picked from commit 68fa7e7f7f5e2b21f28fbcc32ccfe6b416b89a62)

IJ-CR-148037

GitOrigin-RevId: 7b5bf721f9871eb06a0492262cfc4b74e93a950c
2024-11-18 19:16:28 +00:00
Maksim Zuev
044d678968 [debugger] IDEA-358371 Hotswap should include all modified files even after compilation error
(cherry picked from commit 240ee34eba159e66c4ac235f4b43a0b1a3183876)

IJ-CR-147930

GitOrigin-RevId: 4d044a371864323f4728c7cd2caa67ab03d233ad
2024-11-18 14:05:54 +00:00
Maksim Zuev
bc6a8fda82 [debugger] Hot swap: drop Continue with previous code option
* it was effectively the same as close notification


(cherry picked from commit 0cf7a9c7653acf8aa1f78b2254952f97cbd4eee4)

IJ-CR-147839

GitOrigin-RevId: b7268f442939c2b103c2a41d98e3bf56a7f1a9f4
2024-10-29 19:43:50 +00:00
Alexander Kuznetsov
09a1e4b0e1 [debugger] IDEA-360871 Handle an empty array/list case
The fix resulted in a cleaner API.


(cherry picked from commit e172ca5e833ab01f3c25322b7239971475c0333d)

IJ-CR-147189

GitOrigin-RevId: 692cd2ed978c6d94c73b9578864389a618066cb8
2024-10-28 19:57:51 +00:00
Maksim Zuev
ed521e7d53 [debugger] Rename hot swap -> HotSwap
(cherry picked from commit 15a648ee4cd01ec9dc638214e3f3cd30a72c70c9)

IJ-CR-147819

GitOrigin-RevId: 1f62fe7c588175b9ba89d50daa909231aca5557a
2024-10-28 12:57:54 +00:00
Egor Ushakov
d0863ae04b IDEA-323195 "Object has been collected" error during the evaluation - do not use DebugProcess.getVirtualMachineProxy
(cherry picked from commit ddb54d977ab83e4dd2edb144f47353b3aff121e3)

IJ-CR-146826

GitOrigin-RevId: d8a12f7f0bf068c6b1665afca0b738d05de9fb71
2024-10-15 19:25:49 +00:00
Alexander Kuznetsov
ceb1835d62 [debugger] IDEA-349254 Add platform part statistics
- visualizer shown
- visualizer closed (with some causes)

GitOrigin-RevId: 8dc3b3172c20a191f065d293d0f2e6cb76dbbcef
2024-10-14 23:57:32 +00:00
Maksim Zuev
5ed01c59cf [debugger] Fix ClassCastException
GitOrigin-RevId: 08e3708eb2a3add4e5d0c33e503c593878de60d7
2024-10-14 18:54:46 +00:00
Alexander Kuznetsov
cabbc02f7c [debugger] IDEA-349254 Add variable's name to the popup title
GitOrigin-RevId: 2bec93b27c31cdf4d574823905fd31794cb483dd
2024-10-14 17:27:11 +00:00
Alexander Kuznetsov
5931afd75a [debugger] IDEA-349254 Remove obsolete overload of DebuggerUtilsImpl.invokeObjectMethod
GitOrigin-RevId: 46ca61027e483c41c7721a6c72cbd2f16b26cd8d
2024-10-14 17:27:11 +00:00
Alexander Kuznetsov
f386cee9cc [debugger] IDEA-349254 Fixes
- handle suspend thread policy correctly
- close all popups when the process is terminated

GitOrigin-RevId: f2de849da195effa418f78d55f56301b1e31c15b
2024-10-14 17:27:11 +00:00
Alexander Kuznetsov
1051ef13e9 [debugger] IDEA-349254 Support arrays
GitOrigin-RevId: 7ee3644cee7d3cbfce768052ad1bc4316d4f10a0
2024-10-14 17:27:11 +00:00
Alexander Kuznetsov
7d22b2f36b [debugger] IDEA-349254 Initial support for collections
Done:
- datagrid view (pagination, sorting, filtering)
- support for all inheritors of java.util.List
- the first element of the collection specifies the columns (if other elements don't have a field, the cell is empty)

To be done:
- tests
- support more types
- variables view on click (may result in producing nested sub-views)
- maybe include a variable name in the title

GitOrigin-RevId: 41ddf8cc16a9aae6aafc671ce1897584d198a6aa
2024-10-14 17:27:11 +00:00
Egor Ushakov
27270ae777 [debugger] fixed varargs tests with invocation helper
GitOrigin-RevId: 17a95e8c408331c6f45b0aaa38169d3a52599384
2024-10-14 17:12:39 +00:00
Maksim Zuev
9855b392a8 [debugger, devkit] IDEA-355621 Ignore PCE while stepping
Merge-request: IJ-MR-145987
Merged-by: Maksim Zuev <Maksim.Zuev@jetbrains.com>

GitOrigin-RevId: 2270b4327c6719e95172b7bc5d969169e2b10636
2024-10-13 19:30:07 +00:00
Egor Ushakov
4855ba7c77 IDEA-335326 Support JetBrains annotations @Async.Schedule and @Async.Execute in kotlin
GitOrigin-RevId: 0c49fa85b59a24e58c1315ed0a5376b82a8adfd5
2024-10-11 18:13:28 +00:00
Vladimir Parfinenko
97e52898cd [debugger] update async stack trace agent
GitOrigin-RevId: 9cc886d992a9268f222e8adcfd32d480be102e51
2024-10-11 15:47:44 +00:00
Nikolay Chashnikov
dbd47232c7 [java] API cleanup: mark deprecated unused API for removal (IJPL-156972)
GitOrigin-RevId: 5c2121d84e0d0517b6ef056bb0de6e78a468b760
2024-10-10 23:55:42 +00:00
Egor Ushakov
0f82f4769d [debugger] dropped obsolete capture points from annotations
GitOrigin-RevId: aea4ad4d398183cf74b603b7d3c066400218162e
2024-10-10 20:01:40 +00:00
Maxim.Kolmakov
e3d0d48018 Extract threadDump parser to a separate module
GitOrigin-RevId: c9d9890c5bf10e57b0aa77bb8f5c9ca7451c723e
2024-10-10 00:58:31 +00:00
Alexander Kuznetsov
66461a7f91 [profiler] IDEA-352355 don't instrument older versions of coroutine library fork
Usually the case for plugin developers.

bump debugger-agent version to 1.45

GitOrigin-RevId: 8c060008660b904b25bb91909e2a37fa6597cff9
2024-10-09 20:06:31 +00:00
Egor Ushakov
72ee328bae [debugger] silence slowops IDEA-360452
GitOrigin-RevId: 733352dccd9e3a09aade1b16064e5c4ea7f78807
2024-10-09 17:30:38 +00:00
Egor Ushakov
a1ec2591bf [debugger] do not call scheduleReload for synthetic breakpoints
GitOrigin-RevId: 5458f255f65d399e6503e026cfe843c230a5ae52
2024-10-04 19:40:07 +00:00
Egor Ushakov
f27c76b006 IDEA-360126 Memory leak in com.intellij.rt.debugger.agent.CaptureStorage.ConcurrentIdentityWeakHashMap
GitOrigin-RevId: b3aee9fc948f7fc10bfec2667d472a752b769c84
2024-10-04 11:02:25 +00:00
Egor Ushakov
6edeceeac8 [debugger] yet one less getSourcePosition usage
GitOrigin-RevId: ef504cb768b93f9e1292887d733dfd3f81268835
2024-10-04 10:48:22 +00:00
Egor Ushakov
6b729379f5 [debugger] one less getSourcePosition usage
GitOrigin-RevId: 9584076caecf6ebcf1426114131b2c4c387ed0e7
2024-10-04 10:48:22 +00:00
Egor Ushakov
0a33108740 [debugger] avoid scanning all classes in vm for nested sub classes - fixed kotlin tests
GitOrigin-RevId: e5fee6bd9579af0282e24bbba80a1054f7a083b9
2024-10-04 10:48:22 +00:00
Egor Ushakov
87b49d65b2 [debugger] use optimized allLineLocationsSync to reduce number of sync debugger commands
GitOrigin-RevId: 9d0735eb837b705456872ff5f11cbd3c4587f012
2024-10-04 10:48:22 +00:00
Egor Ushakov
e45924a30e [debugger] avoid scanning all classes in vm for nested sub classes
GitOrigin-RevId: b2d68e635d37947226c0e53b5a7c4ecd777a8f9a
2024-10-04 10:48:22 +00:00
Alexander Kuznetsov
cc106e43d3 [debugger] IDEA-352355 support state flows via instrumentation
GitOrigin-RevId: b0a5a8a5ddcc4e3f5f6c8bd54bec4617ab32cf92
2024-10-04 00:30:06 +00:00
Vladimir Parfinenko
25eacf2a26 [debugger] print async stack trace during exception stack trace printing in debug and test runs, IDEA-356859
Java is supported completely, Kotlin -- partially

GitOrigin-RevId: 345192cb18ea86cf39d97b5dd538bb44d29e41ab
2024-10-02 21:56:49 +00:00
Maksim Zuev
e046e5c6a5 [debugger] CodeFragmentFactory can produce PsiCodeFragment
* broaden code fragment type to be able to implement non-java evaluators


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

GitOrigin-RevId: 096badbd7e76b2c8065867349e0839452b683ab4
2024-10-02 17:36:00 +00:00
Maksim Zuev
52bdda1380 [debugger] EA-1376775 Fix dispose SuspendContextImpl
GitOrigin-RevId: 35d4183b8a8fd37035a90dd829b1565c618d561f
2024-10-02 16:46:24 +00:00
Maksim Zuev
5282faf9c3 [debugger] Add comment to DebuggerCommandImpl.kt
GitOrigin-RevId: 783de5c84f5ece84969cee0a71788b352174d6cf
2024-10-02 16:46:23 +00:00
Roman Shevchenko
69479687e5 [project] replacing FileChooserDescriptor#isFileVisible with file- and/or extension-based filters (IJPL-150176)
GitOrigin-RevId: 7176005f3d39d2f2e928c2e5f804de173e5d83f4
2024-10-02 09:28:56 +00:00
Alexey Merkulov
0729b2a230 [debugger] IDEA-358626 Show indicator with possibility to cancel the stepping request
IJ-MR-145237

GitOrigin-RevId: 4283b9faf567bdbcaf25a44319928e102e3a7b10
2024-10-01 15:14:39 +00:00
Alexey Merkulov
c84dac7d1e [debugger] Add listener to track the start of debugger stepping actions
IJ-MR-145237

GitOrigin-RevId: dea3c2e4e005df9531867830284af76d45891579
2024-10-01 15:14:39 +00:00
Alexey Merkulov
151b03f97d [debugger] Refactoring: extract SteppingAction from DebuggerStatistics to use it for stepping-kind tracking
IJ-MR-145237

GitOrigin-RevId: e878bbe490b961a81120b7cba8b9383c53305efb
2024-10-01 15:14:39 +00:00
Maksim Zuev
bf70fac365 [debugger, devkit] IDEA-355621 Search only for loaded class
GitOrigin-RevId: 3034072eab48843f73c6907ec242b3608934e847
2024-10-01 10:39:14 +00:00
Maksim Zuev
cdf2480bc9 [debugger] IDEA-358960 Cancel debugger command scope on finish
GitOrigin-RevId: 08374da7f4ffcd5471a5ff3673f6edd3a959ecab
2024-09-30 18:44:47 +00:00
Egor Ushakov
9da72f0f31 IDEA-359455 Disable JIT option adds incompatible VM option -Xnoagent - do not remove -Xdebug option
GitOrigin-RevId: 0f59c5d8e20de6c74046c91cb8547d29e497cba1
2024-09-27 16:00:38 +00:00
Maksim Zuev
55e80c9052 [debugger] Wrap read action
GitOrigin-RevId: bf16d4d9163e80d20a6079ae6e62552117890ab0
2024-09-27 15:47:44 +00:00
Maksim Zuev
30a5861a38 [debugger] Add log assert to be sure that coroutineScope is not leaked
GitOrigin-RevId: 870c5f73dc01c678f3f5f75768ca8a9f18e1c610
2024-09-27 15:47:44 +00:00