
7.3 我该如何做 |
|
7.3.1 开始调试器 |
开始调试器 · 在Build菜单中单击Start Debug子项 单击Go , StepInfo或Run to Cursor。
|
7.3.2 运行到特定位置 |
将程序运行到遇到的第一个断点位置 1 设置断点。 2 在Build菜单中,单击Start Debug。 3 在Start Debug菜单中,单击Go。
运行到当前光标位置 (调试器尚未启动情况) 1 将光标定位到源文件中您希望中断的特定位置。 2 从Build菜单中,选择Start Debug 下的Run To Cursor。
运行到当前光标位置 (调试器已经启动情况且处于中断状态) 1 将光标定位到源文件中您希望中断的特定位置。 2 从Debug菜单中,选择Run To Cursor。
设置执行的下一条语句(调试器已经启动情况且处于中断状态) 1 将光标定位到源文件中您希望执行的下一条语句位置。 2 单击鼠标右键。 3 在出现的快捷菜单中,单击Set Next Statement。
|
7.3.3 中止程序 |
中止程序 在Debug菜单中单击Break,返回到编辑状态。
|
7.3.4 设置断点 |
使用断点对话框(Edit菜单下的Breakpoints子项),可以设置,移除,禁止,生效或查看断点,退出集成环境时, Magic C++将保存断点的设置。 注意:您在使用断点对话框之前,必须确保至少已经打开了一个工程,否则断点对话框是不可用的。 您也可以在编辑器中直接设置断点。
在编辑器中直接设置断点 1 在编辑状态下,将光标移动到您希望设置断点的行位置。 2 单击工具条上Insert/Remove Breakpoint按钮,在编辑器左边的空白区域中将出现一个红灯标志,标志断点被成功设置。 注意:如果您代码中的一条语句超过一行,请在该语句的最后一行设置断点。
|
7.3.5 查看和操作断点 |
查看当前断点列表 1 在Edit菜单中,单击Breakpoints子项。 2 使用垂直滚动条在断点列表中上下浏览。
禁止一个断点 1 在编辑状态下,将光标移动到您希望设置断点的行位置。 2 单击工具条上Enable/Disable Breakpoint按钮,或单击鼠标右键,在快捷菜单中选择Disable Breakpoint子项。 -或- 1 在断点对话框中的断点列表内找到您希望禁止的断点。 2 清除该断点左边的复选框。 3 单击OK。 对于定位断点,在空白区域的红灯标志将变为绿灯标志。
使一个断点生效 1 在编辑状态下,将光标移动到您希望设置断点的行位置。 2 单击工具条上Enable/Disable Breakpoint按钮,或单击鼠标右键,在快捷菜单中选择Enable Breakpoint子项。 -或- 1 在断点对话框中的断点列表内找到您希望使之生效的断点。 2 确认您选中了该断点左边的复选框。 3 单击OK。 对于定位断点,在空白区域的绿灯标志将变为红灯标志。
删除一个断点 1 在编辑状态下,将光标移动到您希望设置断点的行位置。 2 单击工具条上Insert/Remove Breakpoint按钮,或单击鼠标右键,在快捷菜单中选择Remove Breakpoint子项。 -或- 1 在断点对话框中的断点列表内找到您希望删除的断点。 2 单击Remove按钮。 3 单击OK。 对于定位断点,在空白区域的红灯或绿灯标志将消失。
查看某断点定位的代码 1 在断点对话框中的断点列表内选中一个断点。 2 单击Goto按钮。 该操作将关闭断点对话框,并且将当前光标位置设置到该断点定位的代码处。
|
7.3.6 单步(进入函数体) |
单步执行下一条语句(进入函数体) 1 当程序处于中断状态(程序已经完成上一条调试命令,正在等待用户输入),单击Debug菜单中的Step Info子项 调试器将中断在下一条语句位置。如果下一条语句是某个函数的调用,调试器将进入该函数体,并且在函数体的第一条语句位置中断。 2 重复第1步将继续执行下一条语句。 如果您进入了一个嵌套函数,调试器将进入最深的一级函数,例如,当您执行语句 Fun(Fun2())时,调试器将停留在Fun2()的第一条语句位置。
|
7.3.7 单步(跳过函数体) |
单步(跳过函数体) 1 启动调试器。 2 将程序执行到某个函数调用语句。 3 在Debug菜单中,单击Step Over。 调试器将执行该函数,在函数执行完毕后返回。 4 重复第3步将继续执行下一条语句。
|
7.3.8 从一个函数体中跳出 |
1 启动调试器,将程序执行到某个函数体内部。 2 在Debug菜单中,单击Step Out子项。 3 调试器将继续完成该函数的剩余语句,在函数返回的位置中断。 警告:为提高调试速度,当您的函数体包含大循环时,您不应该使用Step Out方法来跳过函数,而应该在函数的结束位置设置一个断点,然后在Debug菜单中选择Go子项执行到函数结束位置,再使用Step Out 跳出函数体。
|
7.3.9 查看变量值 |
使用快速监视对话框查看变量值 1 等候调试器恢复到中断状态。 -或- 1 单击Debug菜单中的Break子项 中断调试器。 2 单击Debug菜单QuickWatch子项。 3 在编辑框中键入变量名,单击Recalculate。 4 单击Close。 提示:Expression的下拉框中包含了您最近查看过的变量或表达式列表。
使用工具提示查看变量值 1 等候调试器恢复到中断状态。 -或- 1 单击Debug菜单中的Break子项 中断调试器。 2 将鼠标移动到您希望查看的变量上方,等待片刻,就可以在弹出的工具提示窗口中看到变量值。
使用监视窗口查看变量值 1 等候调试器恢复到中断状态。 -或- 1 单击Debug菜单中的Break子项 中断调试器 2 在View菜单中单击Watch子项。 3 在Watch窗口中选择您希望查看的Tab 页。 4 将变量名键入或粘贴到监视窗口的Name栏中。 5 键入Enter。 监视窗口将立即在Value栏显示变量值或错误信息。 当您在监视窗口中添加了一个数组,对象或结构体变量时,变量名的左边将显示出加号(+)或减号(-),您可以单击这些符号来展开或关闭该变量下包含成员的列表。
|
7.3.10 修改变量值 |
当程序在断点处中断或位于单步状态,您可以修改非const的变量值。
使用快速监视对话框修改变量值 1 在Debug菜单中,选择QuickWatch。 2 在Expression编辑框中输入变量名称。 3 单击Recalculate按钮。 当变量是一个数组,对象或结构体变量时,变量名的左边将显示出加号(+)或减号(-),单击这些符号可以展开或关闭该变量下包含成员的列表。 4 使用Tab键将光标移动到您希望修改的值处。 5 键入该变量的新值。 6 单击Close。 提示:要修改一个数组的值,您必须逐个元素地进行修改,不能一次修改整个数组。
使用监视窗口修改变量值 1 在View菜单中单击Watch子项。 2 在监视窗口中,双击您希望修改的值。 -或- 3 使用Tab键将光标移动到您希望修改的值处。 当变量是一个数组,对象或结构体变量时,变量名的左边将显示出加号(+)或减号(-),单击这些符号可以展开或关闭该变量下包含成员的列表。 4 键入该变量的新值。 5 单击Close。 提示:要修改一个数组的值,您必须逐个元素地进行修改,不能一次修改整个数组。
|
