3

我在 netbeans 中使用调试器已经有一段时间了,但我不知道它是如何工作的。当说“附加调试器”之类的东西时,IDE 是什么意思?引擎盖下发生了什么?

4

2 回答 2

3

附加调试器是什么意思?

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

调试器就像插入程序“诊断端口”的设备。它可以读取内存的状态,程序当前正在执行的位置,等等。根据调试器的不同,它甚至可以停止程序并在运行中更改其状态。使用术语“附加”是因为这可能发生在程序启动之后;您可以“分离”调试器并允许程序继续其愉快的方式。此功能很关键,因为有时您希望将调试器附加到处于临界状态的正在运行的进程而不中断其执行。

引擎盖下发生了什么?

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

希望有帮助!

于 2013-10-18T19:47:31.363 回答
1

在 Java 中,“附加调试器”的含义正是您所期望的。由于 JVM,Java 是调试器概念的一个特例。

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

因此,“附加调试器”意味着将您的调试器注册为这些事件的侦听器,并将其注册为能够与您正在运行的程序进行交互。

于 2013-10-18T19:57:35.017 回答