Does the debugger make sense that this is Scala code that I am debugging?

I am wondering what the difference is in the debugger (Intellij IDEA + Scala plug-in) when I debug Scala code, not Java code. As far as I understand, the debugger is closely related to the language, that is, the Java debugger cannot process Scala code, but, apparently, the JVM is the center of attention here, since it is bytecode, any debugger will do. right?

IMPORTANT UPDATE: The problem was to show an example of how a byte code debugger could be restricted to Scala. Suppose the breakpoint is reached and I don’t want to go to the next line, but I want the debugger to evaluate the Scala expression in the application context (for example, I like to call the operator method from a singleton object), the Debugger is stuck because it cannot understand Scala. I have to do the conversion myself and inject the resulting Java into the debugger. The problem is that only “breakpoint material” can be processed at the byte code level. What if you want to put an expression under observation? The debugger needs to understand Scala to evaluate the observed expression, right? This time I'm sure I'm right. Vengeance is mine, Said the Lord ;-)

+3
source share
1 answer

The short answer is that your assumptions are wrong.

, , . , , , . , - - . , , , , . , , , , . , , , - , jar .

- , . asm asm, . , - .

+8

Source: https://habr.com/ru/post/1785353/


All Articles