Commit Graph

339 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Daniil Tsarev
3ab4a836f8 [debugger] Annotate 'getName' and 'getLabel' as '@Nls' for NodeDescriptor
GitOrigin-RevId: 2b375bbe7f4272c1b44f819b92a97d83bd8fc4b0
2024-09-25 17:53:36 +00:00
Egor Ushakov
2ba8f51a30 IDEA-359455 Disable JIT option adds incompatible VM option -Xnoagent - dropped the setting
GitOrigin-RevId: 5bf5889d8d5b8790ac6959aca384f668bd6d89ac
2024-09-23 18:51:29 +00:00
Maksim Zuev
d418d70cc0 [debugger] Hot swap button: add option to disable button
GitOrigin-RevId: 0bd41aca51c3c5067d345a70851aa8ea0a8605a3
2024-09-20 17:09:38 +00:00
Yuriy Artamonov
47f1c44a90 [java] IJPL-158521 Actions: fix ellipsis in messages for Java actions
GitOrigin-RevId: bfce0d6efa8747660c4b9af3d8defbfa47e4509a
2024-09-15 14:50:09 +00:00
Egor Ushakov
356e203e48 IDEA-359009 Allow to quickly open files in the editor - renamed the link
GitOrigin-RevId: 543f16ccd0c6e597d4909d97e6d38b79b989f851
2024-09-10 12:39:40 +00:00
Maksim Zuev
bac29e8431 [debugger] IDEA-357571 Reuse Java mark object provider in Kotlin
Merge-request: IJ-MR-143713
Merged-by: Maksim Zuev <Maksim.Zuev@jetbrains.com>

GitOrigin-RevId: 8e12de6d84f602f430f85ff8e3dc322464a81024
2024-09-09 16:52:33 +00:00
Egor Ushakov
12c9a722c0 IDEA-323195 "Object has been collected" error during the evaluation - fixed strings creation during the excessive gc
GitOrigin-RevId: a9d69d822891d035460c9e9fc364dae16355c723
2024-09-09 15:17:29 +00:00
Maksim Zuev
759812ceee [debugger] IDEA-357571 Add the ability to provide synthetic variables into an evaluation context
Split CodeFragmentFactoryContextWrapper into 3 parts
1. CodeFragmentFactory wrapper
2. AdditionalContextProvider for additional variables extraction
3. EvaluationContextWrapper that can add variables in a language-specific way


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

GitOrigin-RevId: d0c4a1131fa45540224e7cc06d5cd917c2ea94b5
2024-08-30 12:36:26 +00:00
Vladimir Parfinenko
a5afd57455 [debugger] support evaluation of Java signature polymorphic methods, IDEA-358378
^IDEA-358378 fixed

GitOrigin-RevId: 9febcc6d20fac8b79ab755dd46dce51d66d19ac0
2024-08-28 16:41:37 +00:00
Egor Ushakov
8d566906e0 IDEA-358202 toString() on array works incorrectly in debugger
GitOrigin-RevId: a54e56b18d7491bd1810ef39e85e10d73e9a87c3
2024-08-27 12:00:38 +00:00
Maksim Zuev
dfcb0b943c [debugger] IDEA-356958 Add setting to disable the floating toolbar
GitOrigin-RevId: d7e4a360b1a59fc040e8e0c0d51b0dacde6f5d86
2024-08-13 14:12:10 +00:00
Maksim Zuev
4bb0bb1f6d [debugger] IJPL-158332 Add 'continue previous code' action
GitOrigin-RevId: f5ab6e0ad3aa913594ce7d80b80a9650bf281ec2
2024-07-30 17:13:52 +00:00
Maksim Zuev
f227a20bb8 [debugger] IJPL-158332 Simplify java debugger notifications on hotswap failure
* do not include session name
* use balloon notification

GitOrigin-RevId: f9492529682e0a78b621a4184045ab8a3312666c
2024-07-30 17:13:52 +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
Tagir Valeev
9b8d299c1e Warnings fixed (i18n+others)
GitOrigin-RevId: 404f67f93b6c8d0df6ed13774791fc2d12b613cc
2024-06-27 11:21:13 +00:00
Alexey Merkulov
05e380cad5 [debugger] Rework thread resuming/suspending handling
Before the main approach was to make symmetrical suspend/thread operations. It can hang debugger in some cases. This change applies another approach: after operation, the debugger returns the thread to the needed state.

GitOrigin-RevId: d52f3cbf55f1d6cd44088bd732d85e2f90cae5d1
2024-05-29 15:30:49 +00:00
Alexey Merkulov
7e9eee4348 [debugger] Improve problems handling
It is incorrect to check all threads because some of them could be created after VM machine has been stopped by some suspend-all event

GitOrigin-RevId: ed4725b151c14b9162af91e0739aa37cc9b13376
2024-05-23 16:03:59 +00:00
Nikolay Chashnikov
afde5c0221 [java debugger] API cleanup: remove unused deprecated API (IJPL-503)
GitOrigin-RevId: 6389dbd06b0f268b48e30fc497bd2a1e8ef9425c
2024-05-15 23:25:49 +00:00
Alexey Merkulov
0fd2282f5f [debugger] Add registry to check the debugger engine consistency
GitOrigin-RevId: e224f9e193be8d10d222c7bfa665d1cda279c5a0
2024-04-22 21:07:46 +00:00
Vladimir Parfinenko
9069cc3dd2 [debugger] get rid of "Line and Lambdas" naming, fix IDEA-351980
Rebrand it internaly to "all positions" and just "Line Breakpoint" externally.

^IDEA-351980 fixed

GitOrigin-RevId: d869ba16014b738b6d24cc3988497bce0aedbf60
2024-04-18 10:55:08 +00:00
Alexey Merkulov
70d365d25a [debugger] Add notification about other threads also reached breakpoints
GitOrigin-RevId: 80bfff529dd80246ce8dc706bc126d6fdbe5924b
2024-04-16 20:08:55 +00:00
Alexey Merkulov
c5d47a6f55 [debugger] All breakpoints should be suspended in suspend-thread mode before switching to suspend-all mode
The change is under the registry now. It would fix a lot of problems with filtering, conditional break-points and so on, e.g. IDEA-349297

GitOrigin-RevId: a5b0e0090254f4ebd1d4355aa616bd6221993934
2024-04-16 20:08:44 +00:00
Vladimir Parfinenko
33577916cf [debugger] fix read access: EA-1044477, EA-1087462
GitOrigin-RevId: 670861d9a5dc24dbff83932806c7f9aabb610ee3
2024-02-19 16:31:15 +00:00
Yann Cébron
084b4bb75a [java/jvm] mark EPs as PossiblyDumbAware
GitOrigin-RevId: e91e26dabe85c81567c8cf94fde710e5df5908ba
2024-02-12 16:51:39 +00:00
Vladimir Parfinenko
0b1e060f0f [debugger] hide stack frames of classes filtered during stepping, IDEA-345410
Add checkbox into settings

^IDEA-345410 fixed

GitOrigin-RevId: 53405a88e876db945ac0713d3c4fb3d5a11e131f
2024-02-12 16:38:07 +00:00
Vladimir Parfinenko
f6346d4337 [java/kotlin debugger] add method/field breakpoint properties into tooltip, IDEA-343399
^IDEA-343399 fixed

GitOrigin-RevId: 95db4e3e3b2eaa4f39c8a2eaace15262a4017783
2024-01-18 14:30:02 +00:00
Vladimir Parfinenko
3ddcca04a6 [java debugger] better tooltips for Java breakpoints, IDEA-334537
^IDEA-334537 fixed

GitOrigin-RevId: dd1ebee1c8eecaf171f7c124ca60212bd4bd5bee
2024-01-17 19:00:09 +00:00
Vladimir Parfinenko
f33959ccc5 [debugger] unify Java exception breakpoint name with other languages
GitOrigin-RevId: 73d925d5377f3fcc43e28c8b4c66808d068872ba
2024-01-17 13:13:36 +00:00
Vladimir Parfinenko
d7fd4151c1 [debugger] include column number into XBreakpointType.getDisplayText()
GitOrigin-RevId: 357e8ec668fab25a77431b31e0923e2731ee0f20
2024-01-17 13:13:23 +00:00
Vladimir Parfinenko
cfbcaa1e41 [debugger] breakpoint tooltips cleanup, fix IDEA-343151
Simplify XBreakpointType.getDisplayText() by excluding
Java properties from it.

^IDEA-343151 fixed

GitOrigin-RevId: 2b6a14744e36e813d52315a5e7126d957a43f1d3
2024-01-17 13:13:16 +00:00
Nikita Nazarov
cd69495d25 Add common dialog window for retained size and paths to closest gc roots actions
https://github.com/JetBrains/intellij-community/pull/2570

GitOrigin-RevId: 440eb5ad0d254db37f5ccc28295ed3b334978d2b
2023-10-18 12:33:15 +00:00
Egor Ushakov
19b3f67759 IDEA-335023 Can't run Tomcat (IAE: duplicate element: com.intellij.openapi.fileTypes.PlainTextFileType@2e20b90a)
GitOrigin-RevId: 3a44d49b372e25bdd9c6d32203c13011fda89447
2023-10-17 11:33:20 +00:00
Vladimir Parfinenko
2f7f12e813 [debugger] try to prevent errors while getting Document by PsiFile, EA-920865
At the cooler it was said that ViewProvider is better than PsiDocumentManager

GitOrigin-RevId: 7d9a62f98acc463d1afa449c6262d0112f294d90
2023-10-09 18:28:54 +00:00
Nikolay Chashnikov
d67bdd5b72 [java] API cleanup: remove unused deprecated API (IDEA-322162)
GitOrigin-RevId: 8b8a875126194efe99989d51127072dd8e503d6e
2023-09-29 09:21:34 +00:00
Egor Ushakov
5c7ffb0969 fixed yellow code - use Set.of
GitOrigin-RevId: 0bacb04bd33c288a57405d52e867785546de216d
2023-08-18 14:08:09 +00:00
Egor Ushakov
7c97c4895d yellow code cleanup - use isEmpty
GitOrigin-RevId: 0baafb28bee61c3178b842f6246ac67ce62f17ff
2023-08-17 19:47:45 +00:00
Vladimir Parfinenko
fcca767ed2 [debugger] better disable inline breakpoint on return on Android
Allow conditional return breakpoints in library files (they have no module).
Also add notification about setting line breakpoint instead of inline on Android.

GitOrigin-RevId: d95a76ac71b1f589a68a015ad2c84f7a846e50ff
2023-07-24 14:32:49 +00:00
Max Medvedev
c5be6baafc [java debugger] SourcePosition#getElementAt is nullable
it indeed can return null, and clients should be ready for that

GitOrigin-RevId: c1a0c0b01951cf3035a4633bae0906f38a07060a
2023-07-09 12:48:19 +00:00
Egor Ushakov
178a0cdb87 IDEA-307792 Remove unused 'Hotswap in background' field from the debugger settings
GitOrigin-RevId: 7fa142d5361a46324462ded51cd5ec1136f66292
2023-06-23 15:17:28 +00:00
Vladimir Parfinenko
c9c9d58c9f [debugger] breakpoint on return inside one line if-return statement in Kotlin
^IDEA-315974

GitOrigin-RevId: 03c949e90b39f5cf9fd1c9b149b20ef7c4f56873
2023-06-16 09:43:44 +00:00