2009-08-27 70 views
2

我目前正在從labview調用一個DLL,但我需要能夠實時調試它(因爲它正在訪問對時間敏感的硬件)。我只想printf()我的錯誤斷言消息,但我不確定如何打開從DLL內的DOS窗口轉儲錯誤信息。有沒有人做過這個?我知道我可以用一個文件來做到這一點,我可能不得不這樣做。 printf就是這樣一個方便而快捷的方法,儘管如此:)。打開DOS窗口並從DLL中調試消息

+0

我忘了提及這是Windows,但我不知道其他操作系統使用.dll(也許OS2?)動態庫。此外,該DLL是與Visual Studio 2008編譯。 – dude 2009-08-27 19:27:58

回答

5

1)打電話給windows api AllocConsole

2)您可能需要致電GetStdHandle以獲取stdout/stderr。

3)Printf到你的心中!

+0

謝謝!今晚我會試試這個! – dude 2009-08-27 21:41:17

4

而不是使用printf(),您可以使用Windows的OutputDebugString()函數,並檢查DebugView中的調試輸出。

+1

+1(更早),您還將看到其他應用程序是否馬虎,在發佈版本中留下對'OutputDebugString'的調用...... – eran 2011-10-02 07:09:28

+0

這對於使用qDebug的Qt應用程序也很有用 – RDP 2017-04-20 19:19:45