簡體   English   中英

Visual Studio C# 應用程序無法使用調試信息構建

[英]Visual Studio C# app won't build with debugging info

我的 C# WPF 應用程序無法使用 Visual Studio 2017 加載符號文件。我在網上查看並檢查了常見問題,但無法調試我的應用程序。 這是新的行為。 作為多項目解決方案的一部分,它一直在工作(至少幾個月前)。 我不知道發生了什么變化。

我在 Main() 之后設置了一個斷點,它顯示為純紅色,直到我嘗試在調試配置中運行。 由於斷點沒有停止執行,所以我明確地中斷了。

[STAThread]
static int Main(string[] args)
{
    Application.EnableVisualStyles();   // breakpoint on this line
    Application.SetCompatibleTextRenderingDefault(false);

    Debugger.Break();

現在運行時,它會彈出“未加載符號文件”並顯示“二進制文件未使用調試信息構建”。

在“構建”窗格中檢查“活動(調試)”配置項目屬性,我看到了

[x] Define DEBUG constant
[x] Define TRACE constant
[ ] Optimize code

並在“高級構建設置”對話框中

Debugging Information: Full

運行 Build->Clean,然后 Build->Rebuild,我看到在 bin/Debug/ 目錄中新創建的 app.exe 和 app.pdb 文件。 刪除 bin/ 和 obj/ 目錄並重建時,嘗試調試應用程序時仍然出現相同的錯誤。

當我查看調試 output 以及各種加載的 Windows DLL 和符號時,我看到我的應用程序帶有“模塊是在沒有符號的情況下構建的”。

從 Debug->Windows->Modules window 我看到我的應用程序顯示“優化:否”和“符號狀態:二進制文件未使用調試信息構建”。 在同一個 window 中,我右鍵單擊我的應用程序,選擇“加載符號”並選擇 bin/Debug/app.pdb 文件。 它說,“在此文件夾中找不到匹配的符號文件”。

我要瘋了,想弄清楚這一點。 似乎應該使用調試信息構建它,但事實並非如此。 誰能指出我正確的方向?

我要瘋了,想弄清楚這一點。 似乎應該使用調試信息構建它,但事實並非如此。 誰能指出我正確的方向?

這是一個很奇怪的問題。 我想你可以試試這些建議

建議

1)請檢查Assembly Name(右鍵單擊project--> Application )是否有空格,如果有的話,你應該刪除空格並重新構建以測試它。

2)通過右鍵單擊 project--> Build啟用定義 DEBUG 常量定義 TRACE 常量

3)工具-->選項-->調試-->常規下啟用選項啟用我的代碼使用托管兼容模式

4)檢查你的xxx.csproj文件是否有<DebugType>full</DebugType>節點。 如果沒有,您可以將其添加到xxx.csproj中:

<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
  <DebugType>Full</DebugType>
</PropertyGroup>

5)關閉VS Instance,刪除解決方案文件夾下的.vs隱藏文件夾,bin和obj文件夾。 然后重新啟動您的項目以再次測試。

6)如果你安裝了幾個 nuget 包,你可以在 Tools-->Nuget Package Manager-->Nuget Package Console下運行這個命令:

update-package -reinstall

7)在工具-->擴展和更新下禁用任何第三方擴展,以防某些擴展導致此行為。 並且不要忘記重新啟動VS。

8)如果您的VS有任何最新更新,請更新它。

此外

If the new created wpf VS2017 project can be debugged successfully and your wpf project is an old project from the old VS version, I suggest you could create a new wpf project in VS2017 and then migrate the old into the new one to test whet.

您可以將舊項目中的packages.config文件復制到新項目的根目錄中,然后運行update-package -reinstall以自動將這些包引用到您的項目中。

任何反饋都將被期待。

暫無
暫無

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

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