2017-04-24 26 views
0

我試圖在Visual Studio中調試一個調用dll的exe文件。我確信我有與dll相同的路徑相應的pdb。是否有可能調試到一個DLL只有一個PDB和沒有源代碼?

但我不能進入該DLL提供的功能。 我收到一條消息,提示「xyz.c未找到」

爲什麼我會收到此消息?

這是否意味着我無法從DLL + .PDB中進入源代碼? 使用/ Z7選項構建的靜態庫(.lib)如何?

回答

1

不,您需要有源代碼才能看到源代碼。

pdb(或/ Z7)包含調試信息,它類似於可執行代碼和源代碼之間的映射。使用pdb VS調試器知道每個指令所在的源文件的位置,但仍需要有源文件來顯示代碼。

通常pdb文件存儲源文件和VS調試器手機的位置在哪裏可以找到它們。如果你將它們移動到其他地方,AFAIK VS將顯示一個彈出對話框來瀏覽無法找到的.c/.cpp文件。

+0

我明白了,謝謝你的回答。你碰巧知道如何告訴VS哪裏可以找到源代碼? –

+0

我覺得當它找不到源文件時VS調試器會顯示對話框來瀏覽源文件 – Pavel

1

是的,你需要源代碼來源調試。 .PDB只包含符號,因此您可以查看堆棧跟蹤或確定崩潰的源文件名和行號。否則,你需要源代碼。

相關問題