在netbeans中附加调试器意味着什么?

时间:2013-10-18 19:42:02

标签: java debugging netbeans

我一直在netbeans中使用调试器一段时间,但我不确切知道它是如何工作的。当说“附加调试器”之类的内容时,IDE意味着什么?引擎盖下发生了什么?

2 个答案:

答案 0 :(得分:2)

  

附加调试器意味着什么?

在多种语言和开发环境中,可以将运行流程配置为具有与外部世界交互的方式。想想汽车中的诊断连接器 - 您可以将其插入并读取来自发动机,灯光,排放物等的传感器信息。

调试器就像插入程序的“诊断端口”的设备。它可以读取程序当前执行的内存状态,依此类推。根据调试器的不同,它甚至可以停止程序并在运行中更改其状态。使用术语“附加”是因为这可以在程序启动后发生;你可以“分离”一个调试器,让程序继续它的快乐方式。此功能很关键,因为有时您希望将调试器附加到具有关键状态且不会中断其执行的正在运行的进程。

  

引擎盖下发生了什么?

这是一个更复杂的问题。一个很好的起点可能是Debugger API的文档。

希望有所帮助!

答案 1 :(得分:1)

在Java中“附加调试器”意味着你可能期望的。由于JVM,Java是调试器概念的一个特例。

在Java中有Java Debug Wire Protocol (JDWP)。它基本上是一个API,它允许您查询JVM以获取某个变量的值。它还为您提供聆听的活动。这些事件可能是断点或异常。

所以“附加调试器”意味着将调试器注册为这些事件的监听器并注册它以便能够与正在运行的程序进行交互。