比如說A程式啟動了B程式,那這時候怎樣除錯被啟動的B程式
uj5u.com熱心網友回復:
打開VS20XX,除錯、附加到行程……uj5u.com熱心網友回復:
1L方法或者可以在工程屬性配置頁中debugging - command中填入你啟動的exe,Attach選擇Yes
uj5u.com熱心網友回復:
兩種方法都試了,斷點是白色無效的uj5u.com熱心網友回復:
滑鼠停留在斷點上,會有提示資訊uj5u.com熱心網友回復:
TCHAR szCommandLine[MAX_PATH];memset(szCommandLine,0,sizeof(szCommandLine));
lstrcpy(szCommandLine,_T("D:\\dbg\\lenTest\\Debug\\lenTest.exe "));//要啟動的行程
lstrcat(szCommandLine,_T("dbg"));//傳給剛啟動的行程的引數
STARTUPINFO si = {sizeof(si)} ;
PROCESS_INFORMATION pi ;
BOOL bRet=CreateProcess(
NULL,//NULL, // name of executable module
szCommandLine, // command line string
NULL, // process attributes
NULL, // thread attributes
FALSE, // handle inheritance option
CREATE_UNICODE_ENVIRONMENT|CREATE_NEW_CONSOLE,//0, UNICODE版本下 // creation flags
NULL, // new environment block
NULL, // current directory name
&si, // startup information
&pi); // process information
if(bRet)
{
CloseHandle(pi.hThread);// 關閉子行程的主執行緒句柄
CloseHandle(pi.hProcess);// 關閉子行程句柄
}
uj5u.com熱心網友回復:
我是通過這種方式呼叫程式的,uj5u.com熱心網友回復:
換WinDbg(File\Attach to a Process...)再試試。uj5u.com熱心網友回復:
估計是沒有找到b的除錯資訊和源代碼位置uj5u.com熱心網友回復:
說的有道理,怎么解決啊
uj5u.com熱心網友回復:
沒對應源代碼就不會/不能除錯了?
uj5u.com熱心網友回復:
看清問題!
樓主是問的是為何B源程式,上無法打斷點。
uj5u.com熱心網友回復:
估計是沒有找到b的除錯資訊和源代碼位置
兩種方法都試了,斷點是白色無效的
沒對應源代碼就不會/不能除錯了?
看清問題!
樓主是問的是為何B源程式,上無法打斷點。
在哪兒?
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
給個解決方法吧uj5u.com熱心網友回復:
在該頁面查找“源”字,只有hdt的帖子里面有。uj5u.com熱心網友回復:
三英戰呂布,難道說的不是劉關張,因為他沒前面的關鍵字。
兩種方法都試了,斷點是白色無效的
uj5u.com熱心網友回復:
在你想除錯的C/C++代碼片斷的前面臨時加一句DebugBreak();重建所有,然后在IDE中運行。(一般人我不告訴他!)
uj5u.com熱心網友回復:
三英戰呂布,難道說的不是劉關張,因為他沒前面的關鍵字。
兩種方法都試了,斷點是白色無效的
uj5u.com熱心網友回復:
在你想除錯的C/C++代碼片斷的前面臨時加一句DebugBreak();重建所有,然后在IDE中運行。(一般人我不告訴他!)
正解!
uj5u.com熱心網友回復:
在你想除錯的C/C++代碼片斷的前面臨時加一句DebugBreak();重建所有,然后在IDE中運行。(一般人我不告訴他!)
還有就是
_asm{
int 3h
}
uj5u.com熱心網友回復:
在你想除錯的C/C++代碼片斷的前面臨時加一句DebugBreak();重建所有,然后在IDE中運行。(一般人我不告訴他!)
還有就是
_asm{
int 3h
}
這招在生成64位程式時不靈。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/95340.html
標籤:基礎類
上一篇:請問vc是不是vc6.0?
下一篇:Eigen 安裝問題
