“调试”视图中的典型调试目标是按下图描述的:

在“调试”视图中,用来启动程序的调试会话的启动显示在顶部节点级别(图中的指针 A.)上。在启动的下方,显示一个表示调试引擎的节点(图中指针 B.)。然后,显示程序中的每个线程(图中指针 C.)。当程序执行停止时,缺省情况下,用于停止线程的节点会自动展开以显示其堆栈帧(图中指针 D.)。如果手动扩展其他线程,那么下次程序暂挂时,这些线程将自动扩展。最后,显示表示正在调试的进程和程序的节点(图中指针 E.)。
当程序执行暂挂时,所选堆栈帧的源文件会在编辑器中打开,突出显示程序要执行的源文件行。如果程序中存在多个线程,那么导致了停止的线程的堆栈可被滚动锁定到调试帧的末尾。
“调试”视图还可用于设置调试器守护程序。有关这方面的信息,请参阅与侦听调试引擎相关的主题。
可以在“调试”视图中执行下列基本调试操作:
)或按
F8。
)或按
Shift+F8,或者右键单击要终止的调试目标(或者它的其中一个线程或堆栈)并选择其中一个终止操作。
)。此操作或许不可用,这取决于正在调试的程序的启动方式。
)(Ctrl+F8) 来暂停该应用程序(或它内部的各个线程)。如果在使用此操作时选择了进程,那么该进程的所有线程都将停止。如果调试引擎支持暂挂和重新开始各个线程,并且已选择某个线程,那么仅该线程将停止。仅当您正在使用
AIX 调试引擎的版本 11 或更高版本时,才提供此支持。应用程序中的线程将暂挂,直到您发出重新开始操作。当发出暂挂操作时,调试引擎会将
SIGSTOP 发送至要调试的程序。当具有正在运行的失控进程时暂停(但不是命中断点)很有用。可通过暂停应用程序来重新获取应用程序的控制权。当暂停程序时,它通常将在编辑器的“反汇编”视图中停止。
当线程暂挂时,“单步执行”控件可以用来逐行单步通过程序的执行。在执行“单步执行”操作时,如果遇到断点或事件,那么执行会在该断点或事件处暂挂,并且“单步执行”操作结束。可以使用“单步执行”命令来单步通过程序,一次单条指令或单个位置。
下列“单步执行”命令可用:
)(F6):当发出“单步跳过”时,程序会单步执行至下一源文件行。
)(F5):当发出“单步进入”时,程序将单步执行至下一语句。如果当前行包含对另一函数的调用,那么调试器将在该函数中停止。此命令的行为受使用单步执行过滤器操作(
)(Shift+F5) 影响。如果过滤器处于关闭状态(未选择按钮),那么即使程序没有包含调试信息,调试器也将停止在调用的函数中,并且必须显示反汇编。如果过滤器处于打开状态(已选择按钮),那么当可以显示源文件时,调试器将仅停止在调用的函数中。如果无法显示源代码,那么调试器会进行工作,就好像您已发出单步跳过一样。DER_DBG_ STEP_DEBUG
调试引擎环境变量会影响使用单步执行过滤器操作的行为。有关调试引擎环境变量的信息,请参阅相关主题。
)(F7):当发出“单步返回”时,程序会运行至调用程序中紧跟在当前函数的调用之后的点。通常将停在调用指令后面的位置。如果调用程序包含调试信息,那么这可以在源文件行的中间。