BeyondDimension / SteamTools

🛠「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。
https://steampp.net
GNU General Public License v3.0
19.79k stars 1.28k forks source link

🐛[BUG] 全局钩 DWM 的 API 导致 DWM 进程内存泄漏 #2679

Open Mishasama opened 1 year ago

Mishasama commented 1 year ago

请认真检查以下清单中的每一项

🐛 描述

看截图,当我阻止这个操作后就再也没发现系统的 dwm.exe 有内存泄漏的问题了,那必须是你的锅了。 我也不明白你为什么要钩这个,毕竟不给你钩貌似功能上也没缺失或者程序崩溃。 要是我没有这个主动防御的玩意的话估计我一辈子都不知道这是你的锅了。

假设你的测试环境怎么也无法复现的话麻烦想个办法不要钩这玩意,这 DWM 很容易就会有内存泄漏的问题,连英特尔的核显驱动都中过招,但已经修复了。我也更新了相关的驱动,并且只要不让你钩就不会有问题,所以确认这次不是英特尔的锅了。

📷 复现步骤

步骤不明,请靠 log 分析。 大约在 22 号之后的 log 是属于阻止后的,没有发生内存泄漏的问题。

1.

📄 日志信息

internal-nlog.txt nlog-all-2023-03-20.log nlog-all-2023-03-21.log nlog-all-2023-03-22.log nlog-all-2023-03-23.log nlog-all-2023-03-24.log nlog-all-2023-03-25.log nlog-all-2023-03-26.log

🖼 截图

image

🚑 其他信息

rmbadmin commented 1 year ago

调用dwmapi应该是为了实现获取动态桌面背景设置为程序背景的功能,我之后会检查一下这个功能的代码,目前的话这个功能应该也不会再3.0版本上线,目前是计划砍掉的。

AigioL commented 1 year ago

@rmbadmin https://sourcegraph.com/search?q=context:global+repo:%5Egithub%5C.com/BeyondDimension/SteamTools%24+dwmapi+rev:refs/tags/2.8.6&patternType=standard&sm=0&groupBy=repo

JasonGrass commented 8 months ago

不确定是否为同样的原因,内存泄漏有点夸张

image image

nlog-all-2023-12-29.log