基本上我想這樣做,這是一個符號文件(PDB):PDB文件包含源文件的位置(例如C:\dev\proj1\helloworld.cs
)。是否可以修改該pdb文件,使其包含不同的位置(例如\more\differenter\location\proj1\helloworld.cs
)?如何更改源文件的位置在
16
A
回答
11
您可以使用Windows調試工具,這將在你的源代碼庫保存到文件的適當修改,引用作爲PDB文件的備用流的源索引功能。
7
如果您希望更加通用地瞭解pdb文件中嵌入的路徑,可以先使用MS-DOS subst
命令將特定文件夾映射到驅動器號。
subst N: <MyRealPath>
然後打開您的項目相對於N:驅動器並重建它。您的PDB文件將引用N:上的源文件。現在,放置該特定源文件集的位置並不重要,只要您隨後調用根目錄「N:」,就像在創建它時一樣。
這種做法是由約翰·羅賓斯在他的優秀著作,Debugging Applications for Microsoft .NET and Microsoft Windows建議。
1
這當然是可能的,因爲在弗氏已經指出。 但如果只是這樣的來源可以位於和調試過程中加載,然後更好的辦法是設置相應的源路徑。一旦設置在調試器中,它將搶佔PDB內的所有硬編碼路徑。
在WinDbg中(例如):
.srcpath + path_to_source_root或本(如果你是遠程調試):
.lsrcpath + path_to_source_root
2
我想找到爲了調試在我的機器上沒有構建的可執行文件中發生的故障轉儲,應答如下,因此PDB中引用的源代碼的路徑無效, PDB在可執行文件中引用。
經過四處搜索,找不到有效的東西,我發現如果將可執行文件和PDB放在崩潰轉儲文件(即在同一目錄中)旁邊,然後打開並在VS中運行崩潰轉儲,VS會找到並在本地使用PDB/EXE。此外,它還會在點擊調用堆棧中的條目時提示源代碼的位置:將它指向與源代碼相關的任何源代碼,它都可以正常工作,這非常棒!
不管怎麼說,希望這可以幫助別人... :)
相關問題
- 1. 如何更改Grive文件夾位置?
- 2. 更改PHP.ini位置文件?
- 3. 文件位置已更改?
- 4. 更改circle.yml文件位置
- 5. 更改設置文件的位置
- 6. 如何更改Joomla文章的位置
- 7. 如何更改文本框的位置
- 8. 更改組件文件夾的位置
- 9. 如何在Flex中更改bin-release文件夾的位置?
- 10. 如何在運行時更改.chm文件的位置
- 11. 如何更改querydsl插件中的源文件夾設置?
- 12. 你如何在JavaScript中更改iframe的源位置?
- 13. 如何更改虛擬目錄的配置文件位置?
- 14. 如何使用單選按鈕更改Android xml源文件的位置?
- 15. 如何更改Maven-WAR插件的緩存文件位置?
- 16. 如何更改文本位置?
- 17. UILabel - 如何更改文本位置
- 18. 的NodeJS,更改文件位置
- 19. 更改vb.net的默認文件位置
- 20. 的Web.config更改文件默認位置
- 21. 更改JSP文件的位置
- 22. 更改postgreSQL文件的位置
- 23. 更改capistrano.log文件的位置
- 24. 更改obj/Xcode文件夾的位置
- 25. 更改Rails Gem文件的位置
- 26. 更改.org.eclipse.sequoyah的文件夾位置
- 27. 更改Velocity.Log文件的位置
- 28. 更改生產源代碼的位置
- 29. 更改視頻位置的源代碼
- 30. 更改Android項目的源位置
http://msdn.microsoft.com/en-us/library/ms680641.aspx – 2008-11-05 16:33:52