VC和CDB调试研究(OPNET和VC联调)

更新时间:2023-10-26 17:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VC调试

环境变量配置完全以后。

在ODB中联调vc的做法如下:

1. 2. 3. 4. 5.

打开ODB.

将vc调试器附着到op_runsim_dev进程

在vc中打开进程模型代码,或者管道代码,设置断点。

在ODB中通过ODB断点控制,将仿真推进到触发代码断点的事件。 切换到VC调试器,在断点之后继续跟踪调试

说明:

1. 1和4步骤是在ODB中进行完成的;

2. 2步骤可以通过两种方法完成:在vc中附着op_runsim_dev;或者在资源管理器中右键

调试都行。

3. 3和5步骤按照如下介绍:在vc中设置断点可以同F9或者工具栏的手型设置,或用crtl+b

进行条件断点设置。查看状态变量的方法:打开locals,展开“op_sv_prt”,再找状态变量。或者在watch窗口输入(*(op_sv_prt)).状态变量进行查询。

CDB调试

1. 首先安装microsoft官网的debugging tools。再设置偏好show console window为ture(需

要重启计算机才能生效)和偏好path to 32-bit windows conmand-line debugger的路径为刚才安装的调试工具的cdb.exe全路径。(我的机器为:C:\\Program Files\\Debugging Tools for Windows\\cdb.exe)

2. CDB是承载在ODB的基础上面的,先进入ODB调试界面,在选择simulation中的CDB

即可打开CDB附着界面。 3. 断点设置:

(1)代码断点:调用格式“bp 函数名 第几次经过断点的时候暂停”

如下面想在函数ip_dispatch_do_init地址加偏移量0x108位置加入断点。并且停在第三次经过断点时候。bp ip_dispatch_do_init+ 0x108 3

(2)内存访问断点:格式为ba Access Size [Address[Passes]]

其中access为访问类型,通常的读和写分别用r和w表示;size表示监视的存取尺寸;address可以是变量名或者任何合法地址;passes指中断发生于第几次改内存访问时。 比如,下面命令指示断点设置在第三次读取my var时。 ba r4 my var 3 4. 清除断点:

bl命令是列出所有断点。

用bc 清除断点。其中为断点标识号。 所有断点表示为“*”;单个断点表示为“breakpiont”;不连续断点用空格或者逗号隔开表示;连续断点标识可用-表示范围。如ID1-IDn。 5. 执行控制

p,单步执行,不进入函数调用内部; t,跟踪入函数调用内部; pt,运行至函数的返回处

gu,从函数内部跳出至调用该函数的位置; g,全速运行至下一次中断,或者程序结束; q,退出调试状态。

注意:只有当中断发生时,源代码显示框中才会显示代码。

本文来源:https://www.bwwdw.com/article/zvk2.html

Top