windbg断点命中时,其它线程在运行吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windbg断点命中时,其它线程在运行吗相关的知识,希望对你有一定的参考价值。
参考技术A 调试会话状态:包括,断点、打开的源文件、用户自定义别名。调试器设置:符号文件、可执行文件路径、源文件路径等。
WinDbg图形界面信息:包括WinDbg窗口标题、默认字体、窗口在桌面的位置、打开的子窗口、以及每个子窗口的状态等。
WinDbg默认使用注册表来保存工作空间设置,其路径为:HKEY_CURRENT_USER/Software/Microsoft/WinDBG/Workspaces
在此路径下有四个键:User、Kernel、Dump和Explicit。前三个键分别用来保存用户态调试、内核态调试、调试转储文件时使用的默认空间。Explicit用以存储命名的工作空间。在四个键下的每个键对应于一个工作空间。键值名为工作空间的名称,键值就是这个工作空间的配置数据。
WinDbg支持使用文件来保存工作空间。这可以使用Save workspace to File。
使用Delete workSpaces可以删除工作空间。更快的方法是直接删除保存在注册表中的键值。
调试 .NET MAUI android 应用程序时断点未命中
【中文标题】调试 .NET MAUI android 应用程序时断点未命中【英文标题】:Breakpoints is not hitting while debugging a .NET MAUI android application 【发布时间】:2021-10-08 09:59:02 【问题描述】:我一直在开发一个 MAUI android 应用程序,在调试时,断点没有命中,应用程序进入中断状态。但对于 Windows 应用程序,它运行良好。 我认为这是 Visual Studio 2022 中的 .NET 6 Android Tooling 的问题。这个问题有什么解决方案吗?
【问题讨论】:
我也有同样的问题。如果我发现了,我会报告。 请提供足够的代码,以便其他人更好地理解或重现问题。 没有必要提供任何代码,它只是 maui + vs bug 【参考方案1】:以下是我为调试 MAUI Android 应用程序而执行的几个步骤。在此之后,我能够调试并获得我的常规异常并命中断点。
将此代码添加到Android平台主要活动的OnCreate方法中
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
那么这个hander方法在同一个类中
private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
System.Diagnostics.Debug.WriteLine(e.ToString());
重置您的 CLR 例外。快捷键是 (Ctrl+Alt+E)。
只需双击 CLR Exceptions 复选框即可重置。
-
仅在选项中禁用调试代码
【讨论】:
我尝试了这个解决方案,但我仍然遇到同样的问题 嗨@sina,您能否提供一个基本的演示到github或驱动程序,以便我们尝试重现我们这边的问题?【参考方案2】:我在调试一些项目时也遇到了问题。 (预览版 17.1.0)失败的项目设置如下。
<PropertyGroup>
<TargetFrameworks>net6.0-ios;net6.0-android;net6.0-maccatalyst</TargetFrameworks> ...
移动 Android 首先解决了我的问题
<PropertyGroup>
<TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks> ...
【讨论】:
以上是关于windbg断点命中时,其它线程在运行吗的主要内容,如果未能解决你的问题,请参考以下文章