簡體   English   中英

如何在 Visual Studio 上過濾調試 output window?

[英]How to filter debug output window on visual studio?

如何刪除或過濾此類消息?

這很煩人,並且一直顯示我不明白為什么。 我正在使用 Visual Studio 2019 c++。

退出和終止或將代碼卡在“假”while循環中更安全嗎?當 x 條件不滿足時,我會

看完這行代碼: MessageBox(g_hWnd, string.data(), L"", MB_OK | MB_ICONSTOP | MB_SETFOREGROUND | MB_APPLMODAL | MB_TOPMOST);

始終顯示消息:

windows\dwm\dwmapi\attribute.cpp(105)\dwmapi.dll!00007FFBE41B1940: (caller: 000000018000E820) LogHr(1) tid(83b8) 80070006 Identificador inválido.

但是,如果我刪除MB_ICONSTOP並僅使用: MessageBox(g_hWnd, string.data(), L"", MB_OK | MB_SETFOREGROUND | MB_APPLMODAL | MB_TOPMOST); 它不顯示。

它也顯示在我不知道的其他事物上。

一些谷歌: https://social.msdn.microsoft.com/Forums/en-US/3a5a145a-c13d-4898-bb61-a5baadc9332f/why-am-i-getting-hundreds-of-weird-messages-in-debug -輸出窗口?論壇=vcgeneral

https://developercommunity.visualstudio.com/content/problem/258494/windowsdwmdwmapiattributecpp92dwmapidll72ed3cf4-ca.html

這是一個XY 問題的例子,也在這里討論。 與其試圖阻止消息被顯示,不如從一開始就阻止它們生成。

從您發布的鏈接來看,這個問題已經存在了幾年,並且困擾了很多人。 幸運的是,您的第一個鏈接似乎有一個解決方法:用戶“codeviewer”的帖子列出了一個名為suppress_dwmapi_output()的 function,當將其添加到您的代碼並從InitInstance()調用時,顯然會阻止創建這些消息。

免責聲明:我自己沒有嘗試過。

我添加了#include <Dwmapi.h> ,現在它不再在調試控制台中發送垃圾郵件了。

https://docs.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmgetwindowattribute

認為錯誤是因為它沒有加載 lib dwamip.dll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM