visual studio 设置
调试时正确设置工作目录
vs的解决方案下有多个工程,技术负责人把工程文件放在一个目录下方便浏览。
坏处是程序中如果要使用某个配置文件,又使用相对路径的方式加载时,可能会在vcproj的目录里查找,找不到就失败了。
为了避免这种现象,可以在工程设置里设置当前工作目录,这样调试时程序不会找错文件位置了。
F5调试时触发MDA断点
vs输出框显示
<mda:msg xmlns:mda="http://schemas.microsoft.com/CLR/2004/10/mda"> <!-- c??( OS ?}??gLX? ̄ ??( DllMain ???p??LX? ̄?7Z???(?w --> <mda:loaderLockMsg break="true"/> </mda:msg>
可以使用 COMPLUS_MDA
环境变量来覆盖注册表设置并禁用 MDA (Managed Debugging Assistants),您可以按照以下步骤操作:
- 打开 控制面板。
- 进入 系统和安全 > 系统 > 高级系统设置。
- 在 系统属性 对话框中,点击 环境变量 按钮。
- 在 环境变量 对话框中,您可以选择添加新的系统变量或用户变量。
- 点击 新建,在变量名中输入
COMPLUS_MDA
,在变量值中输入0
来禁用所有 MDA。
网上建议的方法如在debug-exception-取消MDA相关勾选。或者在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework下新建键MDA并设置值为0
这两种方法并不管用。
目前还为发现设置COMPLUS_MDA
环境变量为0有什么副作用,调试中讨厌的频繁触发断点问题终于不见了。
作者:逆向人 公众号:逆向人 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?