Commit Graph

42 Commits

Author SHA1 Message Date
pyos 5feadd56ef JVM: parse KotlinDebug when regenerating anonymous objects 2020-05-19 18:33:27 +02:00
Vladimir Ilmov 385ddba2d9 (CoroutineDebugger) Keep coroutine info list reference from collection
#KT-38606 Fixed
2020-05-12 15:39:36 +02:00
Vladimir Ilmov 0ce8ca7bcd (CoroutineDebugger) negative frames removed from coroutine stack 2020-04-21 09:48:13 +02:00
Vladimir Ilmov 38ec388429 (CoroutineDebugger) Group coroutines by dispatcher
Kotlin Script support added.

 #KT-37917 fixed
2020-04-21 09:48:09 +02:00
Vladimir Ilmov cd12226f20 (CoroutineDebugger) Alternative CoroutineInfoProvider added
Added way to retrieve coroutine information without an agent
in target JVM. 'kotlin.debugger.coroutines.switch' provides
two possibilities to test coroutines.
Agent way gets activated once kotlinx.coroutines.debug.DebugProbes
started with javaagent.
Library-less ways use DispatchedContinuation or ChildContinuationImpl
classes to retrieve coroutine information and stack traces.
2020-03-23 12:27:07 +01:00
Vladimir Ilmov 9904304e07 (CoroutineDebugger) StackFrameInterceptor service added to KotlinPositionManager, dependency cleanup 2020-03-15 14:37:15 +01:00
Vyacheslav Gerasimov f735396ffb Build: Make toolsJarApi() helper for JPS build 2020-03-10 17:24:21 +03:00
Vyacheslav Gerasimov ef169aa12b Build: Use preprocessed tools.jar for compilation
tools.jar from JDK has different public api on different platforms which
makes impossible to reuse caches for tasks which depend on it. Since we
can't compile against those classes & stay cross-platform anyway, we
may just exclude them from compile classpath. This should make tools.jar
compatible at least within one build of JDK for different platforms
2020-03-10 17:24:21 +03:00
Vyacheslav Gerasimov 0db69cadb6 Build: Make all compile dependencies on toolsJar compileOnly
tools.jar differs between different versions of JDK reducing cache reuse
so better to not leak it to other modules
2020-02-29 16:35:54 +03:00
Yan Zhulanow 9c889aab17 EA-213309: Eliminate "Invalid method id" exception 2020-02-14 17:35:18 +09:00
Yan Zhulanow f6b62f2299 Minor: extract wrapEvaluateException() 2020-02-14 17:35:18 +09:00
Yan Zhulanow 8f29f8bc9d Debugger: Rewrite step over action (KT-14296)
The main goal is to make behavior similar to what happens in Java. For instance, now we always skip lambdas.
Also, we can reliably use '$i$f' and '$i$a' synthetic local variables. There is no need in complicated hacks any more.
2020-02-14 17:35:17 +09:00
Yan Zhulanow dd4a8d01c9 Debugger: Remove obsolete hacks needed for old Android dex 2020-02-14 17:35:16 +09:00
Vladimir Ilmov 7175e5a927 [COROUTINE] Extra logging removed, bug in method signature fix
Relates to #KT-34906
2020-02-03 09:16:50 +01:00
Vladimir Ilmov e4d157c126 [coroutine] running coroutine stack frame merged with coroutine info 2020-01-28 08:40:14 +01:00
Vladimir Ilmov 61c5ef61cc [coroutine][debugger] refactoring being done
X-view approach added for review, thread groups added
2020-01-14 10:14:55 +01:00
Dmitry Gridin 898308c7ba KotlinDebuggerCaches: fix INRE
#EA-219472 Fixed
2019-12-17 17:20:36 +07:00
Dmitry Gridin 8dbbd64beb idea: cleanup code 2019-12-17 13:56:48 +07:00
Yan Zhulanow 16c4b0e458 EA-210823: Fix AIE in breakpoint applicability test 2019-11-25 17:26:29 +09:00
Aleksandr Prokopyev 12313fa5aa Debugger: Fix for coroutine debugger after review 2019-11-19 12:29:52 +03:00
Aleksandr Prokopyev 5975251a32 Debugger: Coroutines stack frames with variables & coroutine dumps 2019-11-19 12:29:06 +03:00
Yan Zhulanow 2cb055a3bd Debugger: Log evaluation status from Java contexts
IntelliJ doesn't call KotlinDebuggerEvaluator from Java contexts; instead, it calls JavaDebuggerEvaluator.
Unfortunately, there seems to be no way to figure out the exact evaluation type for Java contexts. However, we can at least log the evaluation status itself.
2019-10-24 21:33:01 +09:00
Yan Zhulanow 9fb622e148 Debugger: Do not disable breakpoints on evaluation (KT-12242) 2019-10-24 21:32:57 +09:00
Egor Ushakov ea7f6dbd33 EA-208866 - IAE: SafeUtilKt.safeSourceName - fixed in platform 2019-10-14 12:55:18 +03:00
Yan Zhulanow 472ec72eb9 Refactor debugger tests
1. Move tests to their own module
2. Avoid sharing the 'tinyApp' project between tests
3. Clean up option directive handling
2019-10-08 19:13:56 +09:00
Vyacheslav Gerasimov c1e1dbd83e Build: Fix usages of "java.home" for tools.jar dependency
#KT-33984
2019-09-25 17:54:18 +03:00
Yan Zhulanow 527df35bf3 Debugger: Handle case when we can't calculate the anonymous class name gracefully (EA-141202) 2019-08-07 01:15:31 +09:00
Yan Zhulanow 17c3406097 Debugger: Gracefully handle debugger exceptions we can't do anything reasonable with (EA-128154, EA-139473) 2019-08-07 01:15:31 +09:00
Yan Zhulanow e0c4a1c6f1 Debugger: Improve error diagnostics in FUS 2019-08-07 01:15:29 +09:00
Ilmir Usmanov b3e80e6a14 Look for classfile in implementing modules when building inline function
hyperlinks.
 #KT-32864 Fixed
2019-07-25 15:10:03 +03:00
Yan Zhulanow 0f4085066f Debugger: Do not assume we are inside the class body when in '}' (KT-15259) 2019-07-08 16:25:19 +09:00
Yan Zhulanow b4f515a436 Debugger: Support Kotlin variables for inlined lambdas inside inline functions (KT-31418) 2019-07-08 16:25:16 +09:00
Yan Zhulanow afa0bec6f6 Debugger: Change the inline depth calculation heuristics, fix debugging for inlined lambdas (KT-30919) 2019-07-08 16:25:16 +09:00
Yan Zhulanow 5777592024 Debugger: Support captured values (KT-30740) 2019-07-08 16:25:15 +09:00
Nikolay Krasko b7c12014ee Modify dependencies for 192 branch: more dependencies to full java plugin 2019-06-26 14:11:23 +03:00
Nikolay Krasko beb1bc09d4 Update to 192.5118.30 2019-06-25 11:48:59 +03:00
Dmitry Gridin 8c84f885ac Cleanup: apply RemoveRedundantQualifierNameInspection to idea 2019-06-24 15:56:33 +07:00
Vyacheslav Gerasimov 5a39c637c2 Build: Fix intellij dependency leak from ir tree module 2019-06-13 21:03:55 +03:00
Yan Zhulanow 1ec6ca7dd6 Fix rebase issue, move KotlinDebuggerEvaluator to the debugger-util module 2019-06-13 22:34:33 +09:00
Yan Zhulanow 0a6a811c57 Debugger: Fix lvalue evaluation (KT-11663, KT-19980) 2019-05-30 15:27:10 +09:00
Yan Zhulanow a385b4d9d0 Debugger: Fix evaluation on value parameter name position (KT-30976) 2019-05-30 15:27:08 +09:00
Yan Zhulanow ae7550c5af Move out JVM debugger functionality 2019-05-30 15:27:07 +09:00