VS除錯Dll小小經驗

2021-06-28 02:06:22 字數 1006 閱讀 4799

問題描述:

1.a.dll除錯命令中填的b.exe,a工程中f5,此時b.exe執行啟動,客戶端執行連線b,此時,會重新啟動乙個b.exe

2.直接在b工程中f5,此時此時b.exe執行啟動,客戶端執行連線b,則不會重新啟動乙個b.exe

出現現象1,所以導致我不能debug進入到a.dll工程中單步除錯。。。

方法一:新建乙個解決方案,把兩個工程新增進來,dll與exe同乙個目錄,問題依舊。。。

發現一:

f5與直接雙擊執行的區別:f5與直接執行程式的區別,當前路徑目錄不同,乙個debug的區別;

char* path=new char[100];

zeromemory(path,100);

getcurrentdirectorya(100,path);

cstring strpath;

strpath.format("%s",path);

afxmessagebox(strpath);

delete path;

方法二:接著按照趙老師的指點:設定f5時使用指定的目錄(

專案、屬性、配置屬性、除錯、工作目錄:……),

問題依舊。。。

漲姿勢,下面方法來自「zhao4zhong1」,趙4老師:

①直接執行b.exe,客戶端連線。

②進入vs ide

檔案、關閉解決方案。

工具、附加到程序、可用程序、裡面選你要除錯的程序b.exe、點「附加」按鈕……

②進入vs ide

檔案、關閉解決方案。

工具、附加到程序、可用程序、裡面選你要除錯的程序b.exe、點「附加」按鈕、再點「全部中斷」按鈕、

再按alt+7鍵檢視call stack

裡面從上到下列出的對應從裡層到外層的函式呼叫歷史。雙擊某一行可將游標定位到此次呼叫的源**或彙編指令處,

看不懂時雙擊下一行,直到能看懂且游標落在你的dll源**中為止。

至此,解決了問題。。。

ps:萬里長城萬里長,前進的道路依舊長。。。

Unity3D小小小經驗篇 Canvas

首先,ui是什麼就不用介紹了,按照unity手冊的意思就是,使用者的介面 翻譯不好,不要吐槽 也可以說是使用者所看到的介面顯示元素。在unity5.x中,自帶了ui系統ugui,在建立ui後,如果沒有給ui加上canvas 畫布 那麼你建立的每乙個gui空間都會自動的建立在乙個畫布裡面。那麼在講後續...

個人小小經驗 快捷鍵

shift 上下左右鍵選擇內容 shift home選游標之前的 整行 shift end選擇游標之後 整行 shift 滑鼠單擊按順序選擇開始到結束的檔案 crtl 滑鼠單擊選擇多個檔案 ctrl home返回開始一行 ctrl end到最後一行 crtl p列印 ctrl f開啟查詢替換在dre...

vs除錯dll工程

dll本身是沒法執行的,必須在其它工程呼叫dll時候才會執行。所以,除錯dll首先要將呼叫dll的工程和dll工程聯絡起來。解決方案中新增dll工程 現在dll 和 應用程式兩個工程就都在乙個解決方案裡了 這時要對dll工程作些設定。配置屬性 常規 輸出目錄設定為 應用程式的生成目錄 這樣一來編譯的...