首页 > 技术文章 > 附加到进程调试理解

chendeqiang 2020-05-11 23:16 原文

因为调试只能在单个进程中进行,当一个解决方案中涉及到多个进程exe的时候,这时候就要用到附加到进程来调试,否者,没有设为启动项的exe进程是无法进入断点调试的.

大致的过程就是:

1.在要调试之处打断点

2.添加调试代码,让附加的进程有时间进行执行

while(1)

{

  int i =0;

  i++;

}

或者

Debug()<<“调试”;//一个对话框,用来中断程序

3.运行启动项exe,让它一直运行仿真状态,程序在while中

4.工具-》附加到进程,选择另一个要调试的exe,添加

5.这样就可以进入调试了,要把断点从while循环中拉出来

主要用在:

存在两个以上相互关联的进程之时:

可以选择将两个进程合并成一个解决方案,但问题依旧,无法调试,断点进不去?不可以调试Flow与COTs合并(如何合并?);调度器与运行时界面合并后

有些时候碰到自己开发的程序嵌入到别人的框架中,而在接口的地方出了问题,而又不方便将自己的模快加入到别人的工程中,这个时候VS的附加到进程调试变得不可或缺了;

属性里面的调试命令参数?有何关系?(main函数的参数而已)

目前存在很多困惑:

我可以尝试进行F与C两个的合并,实践1;

合并之后的调试;合并之前的两个工程联合调试,实践2

对比现有的调度器与运行时界面合并后的调试方法,最后归纳总结,解决心中的疑问

更进一步,总结出通用的标准

参考链接:
https://blog.csdn.net/u011978022/article/details/45969757
http://blog.csdn.net/vvhesj/article/details/20448593
http://blog.csdn.net/jcx5083761/article/details/8576880
http://blog.sina.com.cn/s/blog_5b9b514b0100gnql.html
https://msdn.microsoft.com/zh-cn/library/c6wf8e4z(VS.80).aspx
https://msdn.microsoft.com/zh-CN/library/jj919165(v=vs.120).aspx

推荐阅读