程序调试技巧 —— Attach to Process
2015-04-08 16:39
459 查看
按Ctrl+F5运行测试程序时,弹出一个错误窗口问你是要“终止、重试、忽略”,却没写出错的地方,让人很是郁闷。按F5进行调试,往往错误又不出现了。
对于这种出现概率较少的bug,当在运行时弹出那个对话框时可以先别急着选择那三个选项,点击visual studio菜单栏的debug->Attach to Process,开始对进程调试。
而此时一般进程正处于running状态,无法进行调试,点击debug工具栏的暂停按钮,就是两条坚杠的那个,然后此时编辑器会显示出程序暂停的位置,也就是出错的位置。
而这个出错的位置一般都是库函数或系统内核函数,基本看不懂,但是别急,程序会停留在这些函数里,那一定是自己程序的某个地方调用到这个函数里,那么怎么找到这个自己程序里的函数呢。
点击菜单栏debug->Windows->Call Stack(调用堆栈)在Call Stack调试区会从当前出错的函数逐级往上跟踪,一直到mian(),__tmainCRTStartup(),mainCRTStartup(),及kernel32.dll里面。那么自己程序中的函数就会紧接着main()函数。
OK,顺滕摸瓜找到那个函数,看看出了问题什么吧。
原文地址:
http://blog.sina.com.cn/s/blog_72ce76690100qn4i.html
对于这种出现概率较少的bug,当在运行时弹出那个对话框时可以先别急着选择那三个选项,点击visual studio菜单栏的debug->Attach to Process,开始对进程调试。
而此时一般进程正处于running状态,无法进行调试,点击debug工具栏的暂停按钮,就是两条坚杠的那个,然后此时编辑器会显示出程序暂停的位置,也就是出错的位置。
而这个出错的位置一般都是库函数或系统内核函数,基本看不懂,但是别急,程序会停留在这些函数里,那一定是自己程序的某个地方调用到这个函数里,那么怎么找到这个自己程序里的函数呢。
点击菜单栏debug->Windows->Call Stack(调用堆栈)在Call Stack调试区会从当前出错的函数逐级往上跟踪,一直到mian(),__tmainCRTStartup(),mainCRTStartup(),及kernel32.dll里面。那么自己程序中的函数就会紧接着main()函数。
OK,顺滕摸瓜找到那个函数,看看出了问题什么吧。
原文地址:
http://blog.sina.com.cn/s/blog_72ce76690100qn4i.html
相关文章推荐
- 程序调试技巧 —— Attach to Process
- 程序调试技巧 —— Attach to Process
- VS调试技巧之----Attach to Process .
- VS调试技巧 之 attach to process
- VS调试技巧之----Attach to Process
- Visual Studio调试技巧 -- Attach to Process
- VS调试技巧之----Attach to Process
- VS attach to process 到进程里无法调试
- 通过Debug-->Attach to Process的方式来调试网站
- vs如何将attach to process放入到toolbar中,以方便调试
- delphi调试需要管理员权限程序报错“Unable to create process:请求的操作需要提升”
- 解决Android开发中在调试模式下运行一个程序后出现Application (xxx) is waiting for the debugger to attach
- 用GDB调试程序---转贴,非常全面的调试技巧
- BlackBreey程序的调试技巧
- 在vs2008 C++下调试控制台程序的心得及技巧
- XBox360调试程序失败:Unable to start debugging.Connection to Xbox360 development kit lost
- Eclipse 中 drop to frame 的调试技巧
- 使用Turbo C进行C程序编写和调试的技巧
- 通过写代码,attach程序中创建的其他进程,将其加入VS的Debugger,以方便调试
- [tip debugging]Attach VS debugger to more than one process at the same time