1、結論測試
1. 」當前不會命中斷點,由於尚未爲該文檔加載任何符號」纔是要使斷點命中的要點;.net
2. 方案1是前提,必定要確保DLL是最新的,頭文件包含要同步一致;debug
3. 按第6條的第一步就解決問題了,其它實驗後並沒有效果。調試
2、方案blog
1. https://blog.csdn.net/zhangbinsijifeng/article/details/46328393進程
(1).要調試的dll不在調試進程的進程空間,調不到,也就是該dll尚未被加載進exe內。即exe尚未使用到dll呢,固然不會加載該dll到exe的進程空間中文檔
(2).exe調用的dll,不是dll源代碼生成的最新的dll。必定要確保,exe調用的dll是dll源代碼最新生成的dll。同步
不理解下面這段話中的「現有項目」和「一直在用的DLL」 的具體指代 配置
「第一條out了。確定是第二條。終於想起來了。我引用了三四個項目文件,有的項目文件沒有引用「工程」上的現有項目,而是直接引用了一個一直在用的dll。把那個引用刪除,而後改爲引用到現有項目。」引用
2. https://blog.csdn.net/cokewei/article/details/50547557
環境:VS2015解決方案中有2個項目,一個項目是C++寫的dll源代碼,另外一個是C#調用這個dll測試。
問題:C#調用dll沒法在dll源代碼中中斷,提示「當前不會命中斷點,由於尚未爲該文檔加載任何符號」
解決:
(1).首先設置dll和測試程序輸出路徑在同一個目錄下
(2).其次設置
a 項目-〉屬性-〉配置屬性-〉C/C++-〉常規-〉調試信息格式,這裏不能爲「禁用」。
b項目-〉屬性-〉配置屬性-〉連接器-〉調試-〉生成調試信息,這裏設爲「是」。
最後很重要的一點:C#測試程序項目屬性-〉調試->啓用本機代碼調試 打勾
但願對遇到相同問題的人有用。轉載請註明出處
3. https://blog.csdn.net/madison_wang/article/details/52174876
把兩個工程的配置屬性中->調試:調試器類型由自動改成混合
4. https://blog.csdn.net/hnyzyty/article/details/46482077
首先,設置調試工做目錄(把圖1紅框內的路徑改成待調試的DLL所在的路徑)
以後,切記要把待調試的項目從新生成一次!
5. https://blog.csdn.net/qq_22889875/article/details/79621534
在對C#調用的C++動態庫打斷點進行調試時,斷點變爲黃色感嘆號,未進入斷點,反覆查找緣由,從新生成的dll文件已經拷貝到C#相關目錄下面,但仍是沒法進入斷點,後來發現從新生成的動態庫的pdb文件沒有拷貝到C#相關目錄下面,對動態庫進行清理,從新生成解決方案,而後將新生成的dll和pdb同時拷貝到C#相關目錄下,調試動態庫,斷點生效,問題解決。
(release文件夾下才有PDB,而debug模式下沒有PDB,所以此方案未試驗。)
6.https://blog.csdn.net/shakspers/article/details/78978017