簡體   English   中英

在VS2008中的Windows x64上調試x86 .NET應用程序

[英]Debugging x86 .NET application on Windows x64 in VS2008

我使用x64版本的Windows 7.我的應用程序使用一些無法在x64上下文中加載的COM服務器(通常是本機x86 COM服務器)。 所以我決定使用WOW將其作為x86應用程序運行,因此我將平台目標設置為x86。

但是當我嘗試調試它時,Visual Studio 2008調試器開始向所有源文件顯示“源文件不同......”等消息。 這種行為的原因是什么? 這個問題誕生於那里“源文件不同......”消息在Visual Studio 2008中是在x64 Windows上調試x32應用程序的結果

更新 :我清理解決方案,重建解決方案,刪除obj,bin等文件夾,重新啟動計算機,重新安裝Visual Studio ...那么,還有什么可能是問題?

Update2 :如果您創建新的Windows應用程序項目並將目標平台更改為x86,您將看到此問題。 但是如果從項目中刪除Settings1.settings,麻煩將被消除! 任何的想法?

Update3http//social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/bc297668-65b4-46e8-969e-c7a6340d33b6

您獲得的錯誤消息與調試WOW64位應用程序無關。 這不是一個問題,因為Visual Studio在WOW64內部運行32位進程。 因此,您實際上在進行x86 - > x86調試會話,而不是x64 - > x86。

這里發生的是Visual Studio正在從PDB讀取源文件的校驗和,它與用於調試應用程序的文件的校驗和不匹配。 最可能的原因是

  • 過時的PDB
  • 使用不正確的源文件。 這比您在分支方案中更常見,您可以輕松獲取錯誤的文件版本。

我通常通過這種方式調試的方式是

  • 關閉VS並手動刪除所有二進制文件和二進制目錄
  • 重啟VS並重建
  • 關閉VS.
  • 重新啟動VS並附加到正在運行的項目而不打開解決方案
  • 然后手動打開文件

Windows 7默認為VS 2008設置Windows Xp sp 3兼容模式。 更改與Windows Vista SP2模式的兼容性已經解決了問題。

您還可以檢查x86構建類型。 創建它時,您可能無法從默認構建中復制設置,因此在運行應用程序時,您的代碼都沒有構建。

打開“ 解決方案屬性”並檢查“ 配置屬性\\配置”頁面。 然后確保在Build for the Config / Platform組合下檢查所有項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM