闲鱼技术01 发表于 2022-11-13 19:56

UnrealEngine开发时,VS用AttachToProcess时不能打断点 ...

问题描述:

[*]在UnrealEngine的C++工程中,用F5启动后,在自己的项目工程的dll中是可以打断点的。
[*]但如果从资源管理器中启动编辑器并打开自己的uproject后,再用VS的Attach to process去附加UE4Editor.exe时,有些dll就打不上断点了。
[*]因为我的Engine是自己编的,所以排除pdb对应不上的问题。
[*]这时通过VS的Modules窗口查看dll时,只有500个dll。
[*]最后经过一翻查找,发现是超上限了。解决方法如下:
原因:
https://stackoverflow.com/questions/23561687/visual-studio-modules-load-limit

[*]问题很简单

[*]就是Attach to process时对Modules的数量有限制,默认值是500
[*]这个值跟VS没关系,用WinDbg也同样如此

解决办法:

[*]通过注册表添加一个键
[*]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
[*]键的类型:DWORD
[*]Key:DebuggerMaxModuleMsgs
[*]Value:2048

[*]也可以更大

具体步骤

[*]Win+R
[*]运行:regedit
[*]按照上面的路径找到,并添加新键
[*]重启电脑
页: [1]
查看完整版本: UnrealEngine开发时,VS用AttachToProcess时不能打断点 ...