天天看點

VC++調試:調試子程序

一些調試手段,記錄一下。

問題描述:

程序process_A中啟動程序process_B (通過CreateProcess(...),或者其它),process_B的啟動參數為process_A傳入。現調試process_B。

解決辦法:

1)、在process_B的main中添加“__debugbreak()”,要添加在靠前位置,如下所示:

#include <iostream>
#include <Windows.h>

int main(int argc, char* argv[])
{
#if 1
	__debugbreak();
#endif

//此處添加使用者代碼

	return 0;
}
           

2)、啟動process_A,系統彈出對話框“process_B已停止工作”,選擇“調試程式”。

VC++調試:調試子程式

3)、之後彈出調試視窗,選擇process_B所在解決方案。

VC++調試:調試子程式

4)、觸發斷電,選擇中斷。

VC++調試:調試子程式

5)、進入process_B解決方案,F5繼續進行調試。

VC++調試:調試子程式

參考:https://blog.csdn.net/infoworld/article/details/52710442