的1.exe沒有給予足夠的時間讓我啓動IDE和附加的1.exe調試器打入。如何調試在另一個進程(2.exe)下運行的進程(1.exe)?
3
A
回答
0
我假設你有源頭的1.exe(如果你正在調試它),然後只需插入開頭附近的語句,將導致它掛在足夠長的時間來附加一個調試器。 (如果你絕望,這不是互動的getch()。)
在附着,就跳到下一個聲明,讓他走了。
0
你可以把一些預處理命令建立調試 - 只記得建立在釋放模式的版本:
#ifdef DEBUG
Thread.Sleep(10000);
#endif
6
我建議採取同樣的做法與在這種情況下,NT服務。他們也將啓動並且通常不會給您足夠的時間來爲啓動例程附加調試器。
詳細描述如下:http://www.debuginfo.com/articles/debugstartup.html
總之你添加第二EXE註冊表項:
HKLM \ SOFTWARE \微軟\的Windows NT \ CURRENTVERSION \圖像文件執行 選項\ 2.exe調試= 「C:\ progs的\ MSVS \ common7 \ IDE \ devenv.exe的 /debugexe」(REG_SZ)
更改c:\ progrs \ msms \以匹配您的設置。
希望有所幫助。
0
怎樣的1.exe推出?如果您可以使用CreateProcess()啓動它,則可以啓動處於掛起狀態的進程,附加調試器,然後釋放新進程。
0
如果您願意考慮使用Visual Studio以外的調試器,則WinDBG可以自動調試子進程(僅限本機代碼)。
0
你沒有提到你使用的是什麼語言。但是,如果您使用C#或VB.NET,則可以添加Debug.Break()或Stop以觸發提示將調試器附加到進程。
或者如上所述,只需使用類似Console.Readline()或MessageBox.Show()的東西來暫停進程的啓動,直到您可以將調試器附加到它。
相關問題
- 1. 在調用EXE的同一進程下執行另一個EXE
- 2. 如何在調試模式下運行另一個進程?
- 3. Javascript - 在新進程中運行exe
- 4. 從另一個exe運行exe
- 5. 如何從.exe文件調用進程
- 6. 無法從C#進程類運行EXE
- 7. java給字符串運行進程exe
- 8. 如何運行一個EXE文件依賴於另一個EXE文件運行
- 9. 調試多個exe程序
- 10. 只使用.exe進行調試
- 11. 確定一個進程的EXE路徑,包括高架進程
- 12. 如何殺死後臺運行的IEDriver exe進程(Selenium webdriver)?
- 13. c/C++如何獲取.exe運行進程的基地址?
- 14. 如何用C++創建一個進程來執行exe?
- 15. 使用Lua運行另一個二進制/ exe文件?
- 16. 使用進程調用exe文件
- 17. 關閉EXCEL .EXE * 32進程
- 18. 殺死進程「cheatengine-i386.exe」
- 19. 獲取在Bat文件中運行的exe的進程ID
- 20. 如何調試使用regsvr32.exe進行的64位dll註冊過程?
- 21. 如何使用另一個.exe打包調用.exe(帶參數)?
- 22. 從另一個EXE C#運行exe文件,並關閉它
- 23. 從另一個exe文件運行exe文件
- 24. 不同的行爲 - VisualStudio調試程序反對運行EXE
- 25. 如何在.NET EXE和COM EXE之間進行通信?
- 26. VBA:AppActivate不工作最小化EXE(通過進程ID終止運行進程)
- 27. SQL 2000 - 執行進程任務 - 不運行exe
- 28. C#運行另一個程序沒有複製.exe文件
- 29. 如何將一個.exe連接到C++中的另一個.exe
- 30. .exe沒有從C#的原始目錄運行使用進程