Win32 DLL的乙個除錯心得

2021-08-29 14:42:37 字數 709 閱讀 8150

朱金燦

outputdebugstring

函式來輸出相關變數值。但是我覺得outputdebugstring

比起trace巨集有很大的不足,

outputdebugstring

不能像trace巨集一樣

格式化輸出,只能輸出字串,而且糟糕的是win 32工程不能使用mfc的cstring類構造格式化輸出字串。為此我上網搜了一些資料,找到了在win32格式化輸出的方法,具體就是構造乙個類似c語言的printf函式

debugstring。具體**如下:

#ifdef _debug

void winapi debugstring(lpcstr format, ...)

#endif

**說明:

char buffer[10]

為格式化輸出字串的長度,應該根據你要輸出的變數值合理設定,strcat(buffer, "\t"); //

呼叫該函式後在output

視窗中輸出字串後跳到下乙個tab

位置,可以換為換行符。

測試**:

#include

#include

#ifdef _debug

void winapi debugstring(lpcstr format, ...)

#endif

int main(int argc, char* argv)

Win32 DLL動態庫學習筆記一

win32 動態庫分三種 non mfc dll 非mfc 動態庫 mfc regular dll mfc 規則dll mfc extension dll mfc 擴充套件dll 本文主要記錄非mfc動態庫。在我看來,採用庫機制要知道兩方面 一 建立動態庫 二 使用動態庫。再要明白動態庫匯出的是什麼...

C 如何呼叫C寫的Win32 DLL

1.首先,在visual studio中,我們建立乙個visual c 的專案 型別選擇win32 project,繼續選擇dll型別 該專案取名叫做mydll 1 新增mydll.h標頭檔案,如下 ifdef a exports define dll api declspec dllexport ...

Windows網路程式設計的乙個除錯心得

最近要除錯乙個網路程式,大致是乙個接收 socket 字串的程式。網路有些不穩定。程式很多時候能正常接收資料,但是偶爾也出錯。我發現比較的好的辦法還是通過寫入日誌檔案進行分析。該寫哪些內容進日誌檔案呢?我想了一下,應該包括三方面的內容 1.接收資料的時間 2.接收資料的長度 只有長度正確才能確保內容...