[討論] 尋求除錯釣魚竿
是這樣的
我最近使用 C#的GUI 使用 CLR的中介dll,仲介內容為 原生C++ lib
當然
C#、CLR、C++ 的檔案都是我寫的
裡面內含錯誤是不可免
但VC難以針對 lib 和 dll 做變數追蹤
且在GUI環境下連 printf 都無法使用
造成個人找錯的困難
目前個人的解決辦法如下
建立一fopen, fclose 的class,將所有函式有興趣的地方進行 fprintf
至少要讓我知道你死在哪個function裡
雖然有助於找錯,但印出的東西總是很多很雜,我擔心用久了log.txt會開很久
想詢問有沒有更好的解決辦法?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.235.221
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1541033034.A.E6F.html
→
11/01 09:09,
5年前
, 1F
11/01 09:09, 1F
→
11/01 09:09,
5年前
, 2F
11/01 09:09, 2F
感謝樓上大大~~ 問一下,你是指你寫的dll內include該軟體的lib,
然後再用DebugView看嗎? 老實說用別人的dll總是忐忑忐忑的..
會不會突然就不支援了阿 QQ
推
11/01 13:01,
5年前
, 3F
11/01 13:01, 3F
→
11/01 13:03,
5年前
, 4F
11/01 13:03, 4F
→
11/01 13:13,
5年前
, 5F
11/01 13:13, 5F
感謝樓上大大~~~ GOOGLE 查詢後網址如下:
https://docs.microsoft.com/zh-tw/visualstudio/debugger/how-to-debug-managed-and-native-code?view=vs-2017
>> https://preview.tinyurl.com/y9kjpwuk
開啟該功能後可追蹤到方案(solution)中的所有專案(project)
至於我指的printf是 原生C++ 的印出,而不是C#的印出
不過這並沒有關係了,因為紅圈圈到的了,這樣就夠了。
針對同solution的問題就解決了
話說我原本沒想到原來只要打個勾就可以用了
看來我小瞧VS的強大了!!
我原本還在想大家會不會走 throw exception 的路線呢!!
還是說因為 throw exception 不會用在自認為不會出錯的地方
所以除錯上不會用 throw exception?
像是 vector v;
v.at() 卻用 v[] 之類的...
※ 編輯: s4300026 (60.250.235.221), 11/01/2018 19:26:28
→
11/02 09:52,
5年前
, 6F
11/02 09:52, 6F
→
11/02 12:14,
5年前
, 7F
11/02 12:14, 7F