一些調試手段,記錄一下。
問題描述:
程序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已停止工作”,選擇“調試程式”。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2csIXOsNmdahlW5J1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1ITM1MTMzATMyETMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
3)、之後彈出調試視窗,選擇process_B所在解決方案。
4)、觸發斷電,選擇中斷。
5)、進入process_B解決方案,F5繼續進行調試。
參考:https://blog.csdn.net/infoworld/article/details/52710442