小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

一位朋友分析RFID标签打印崩溃,使用windbg定位到gc标记阶段的无效对象。通过dump分析发现内存被字符串覆盖,推测是非托管代码导致溢出,影响打印操作。建议关注相关信息。

记一次 .NET 某RFID标签打印客户端 崩溃分析

dotNET跨平台
dotNET跨平台 · 2026-01-07T00:04:32Z
对 .NET FileSystemWatcher引发内存碎片化的 反思 - 一线码农

文章讨论了FileSystemWatcher引发的内存碎片化问题,分析了碎片化的经典与非经典原因及调查方法。通过代码示例,展示了如何使用windbg和Harmony工具定位问题,并强调了reloadOnChange=true可能导致的内存占用。希望这些反思能帮助开发者解决类似问题。

对 .NET FileSystemWatcher引发内存碎片化的 反思 - 一线码农

一线码农
一线码农 · 2025-11-21T03:21:00Z
使用 WinDbg 分析 C# 程序高 CPU 占用问题

使用 WinDbg 分析 C# 程序的高 CPU 占用问题,首先通过任务管理器获取转储文件,然后在 WinDbg 中打开并执行命令定位问题。分析堆栈信息后发现程序在 Console.ReadLine() 方法上卡住。建议使用 Visual Studio 性能探查器快速识别性能瓶颈。

使用 WinDbg 分析 C# 程序高 CPU 占用问题

dotNET跨平台
dotNET跨平台 · 2025-10-18T00:01:09Z

一名学员的系统崩溃经过windbg分析,发现是C++数组越界导致托管堆损坏。最终通过assert定位问题,调试过程艰难但成功找到原因。

记一次 .NET 某工控PCB巡检系统 崩溃分析

dotNET跨平台
dotNET跨平台 · 2025-08-22T00:01:25Z

一名学员的系统崩溃经过windbg分析,发现是C++数组越界导致托管堆损坏。最终通过assert定位问题,调试过程艰难但成功找到原因。

记一次 .NET 某工控PCB巡检系统 崩溃分析 - 一线码农

一线码农
一线码农 · 2025-08-20T01:42:00Z

文章分析了一个.NET程序崩溃的原因,主要是线程池中的线程异常退出。作者使用windbg和process monitor等工具追踪和重现问题,最终找到导致崩溃的调用栈。同时总结了C#与C++交互时可能出现的问题,提醒开发者注意。

对 .NET线程 异常退出引发程序崩溃的反思

dotNET跨平台
dotNET跨平台 · 2025-08-06T00:01:52Z
WinDbg 分析 .NET Dump 线程锁问题

使用 WinDbg 和 SOS 扩展分析 .NET 应用程序的高 CPU 占用时,首先加载 SOS.dll,查看高 CPU 占用线程及其调用栈,以识别忙线程、阻塞线程和 GC 线程。通过调用栈分析,判断是否因锁等因素导致异常 CPU 占用。掌握宏观视角、线程类型识别和深入分析技巧,有助于高效诊断问题。

WinDbg 分析 .NET Dump 线程锁问题

dotNET跨平台
dotNET跨平台 · 2025-05-25T00:01:20Z

文章介绍了如何获取AOT程序的CPU利用率。首先提到.NET线程池中的cpuUtilization字段记录了CPU利用率。由于Windows线程池源码未公开,获取CPU利用率较难。建议通过修改AOT默认线程池配置,并使用windbg工具分析PortableThreadPool类的静态字段来获取CPU利用率。总结指出,使用默认WindowsThreadPool较难获取CPU利用率,但切换到.NET线程池可能实现。

AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率

dotNET跨平台
dotNET跨平台 · 2024-10-15T00:01:17Z

文章探讨了如何获取AOT程序的CPU利用率。首先介绍了.NET线程池中的`cpuUtilization`字段,该字段用于记录CPU利用率。文章分析了不同版本的线程池实现,包括Win32ThreadPool和PortableThreadPool,并指出Windows线程池没有公开源码,因此需要通过代码获取CPU利用率。最后,文章介绍了使用windbg工具获取AOT程序中CPU利用率的方法。

AOT漫谈专题(第三篇): 如何获取C#程序的CPU利用率 - 一线码农

一线码农
一线码农 · 2024-10-14T02:35:00Z

文章介绍了如何对.NET Native AOT程序进行轻量级APM监控。首先,通过配置EventSourceSupport保留eventpipe组件,以便使用dotnet-counter监控内存和CPU指标。其次,利用windbg手动分析托管堆数据和GC信息。目前.NET AOT不支持sos级分析,但未来版本可能会改善。

AOT漫谈专题(第二篇): 如何对C# AOT轻量级APM监控

dotNET跨平台
dotNET跨平台 · 2024-10-13T00:00:36Z

文章介绍了如何对.NET Native AOT程序进行轻量级APM监控。首先,通过配置EventSourceSupport=true保留eventpipe组件,然后使用dotnet-counters监控托管堆和CPU等指标。此外,还介绍了使用windbg手动分析托管堆数据和GC信息。目前.NET AOT仍需手动分析gcheap,但未来可能会有更完整的支持。

AOT漫谈专题(第二篇): 如何对C# AOT轻量级APM监控 - 一线码农

一线码农
一线码农 · 2024-10-12T04:54:00Z

本文讲述了在Roslyn编译器中使用源生成器的应用。源生成器允许在编译时插入自定义代码。文章通过示例展示如何使用源生成器生成代码,并用windbg工具调试Roslyn的内部逻辑。作者强调windbg在研究底层技术中的重要性,并提供代码和调试步骤,帮助读者理解源生成器的原理。

聊一聊 C#中有趣的 SourceGenerator生成器 - 一线码农

一线码农
一线码农 · 2024-09-30T09:16:00Z

这篇文章讲述了.NET高级调试中与Bitmap相关的故事,通过代码示例和内存分析展示了Bitmap的内存消耗和所占内存段,同时介绍了如何通过windbg调试Bitmap并找到其所属的内存段。

聊一聊 C# 中让人惶恐的 Bitmap - 一线码农

一线码农
一线码农 · 2024-08-25T08:16:00Z

最新版本的WinDbg可以伪装成GDB与远程GDBServer通信,实现对Linux上.NET程序的调试。文章介绍了在CentOS7上安装.NET Core 3.1并使用gdbserver启动程序的过程,然后使用WinDbg连接到gdbserver进行调试。WinDbg可以通过插件扩展功能,实现与GDBServer的通信。最后,文章总结了现在的WinDbg已经支持多平台,并赞扬了其宿主模式的架构。

如何用WinDbg调试Linux上的.NET程序

dotNET跨平台
dotNET跨平台 · 2024-07-23T00:00:28Z

WinDbg 1.2402.24001.0版本可以伪装成GDB与远程GDBServer通信,实现对Linux上.NET程序的调试。文章介绍了在CentOS7上安装.NET Core 3.1和gdbserver,并使用WinDbg连接到gdbserver进行调试。WinDbg是一个宿主,可以通过插件扩展功能。通过验证,文章证明了WinDbg可以成功调试Linux上的.NET程序。

如何用 WinDbg 调试Linux上的 .NET程序 - 一线码农

一线码农
一线码农 · 2024-07-22T02:22:00Z

C#的ThreadStatic是通过C++运行时提供的__declspec(thread)或__thread来实现的。在CLR中,使用ThreadLocalInfo将变量与线程绑定。C#的线程本地存储使用静态TLS,在编译时就已经声明好,存放在TEB.ThreadLocalStoragePointer指向的指针数组中。通过windbg可以验证。C#是一种业务高层抽象的语言,理解TLS需要深入底层。

聊一聊 C# 的线程本地存储TLS到底是什么

dotNET跨平台
dotNET跨平台 · 2024-01-03T00:02:32Z

本文介绍了内核模式堆泄漏的分析方法,包括内存分配和制造内核模式堆泄漏的过程。通过分析dump文件,发现了myfault.sys驱动程序导致的内存泄漏。文章展示了windbg的强大功能。

聊一聊 .NET高级调试 内核模式堆泄露

dotNET跨平台
dotNET跨平台 · 2023-12-15T00:03:40Z

本文介绍了Ctrl+C的底层玩法,使用Win32 API封装的一套玩法,需要用gn来处理中断。重点在于如何用windbg进行调试。

浅析 C# 控制台的 Ctrl+C 是怎么玩的

dotNET跨平台
dotNET跨平台 · 2023-10-26T00:00:33Z

LLDB是下一代高性能调试器,支持C、Objective-C和C++,适用于macOS、Linux、Windows和Android等操作系统。WinDbg是Windows调试工具,适用于内核模式和用户模式调试。个人倾向于LLDB,因为它在Linux和macOS上更好用,具有优雅的设计和丝滑般的调试感受。

.NET最强的调试工具是LLDB还是Windbg?

dotNET跨平台
dotNET跨平台 · 2023-07-06T00:00:30Z

在CLR中,函数运行在内存映射范围内,但断点可能导致内存映射失败。作者通过windbg和lldb观察了Windows和Linux平台下的内存映射代码。在Windows平台上,m_CodeHeaderRW等于m_CodeHeader时,不执行内存映射。而在Linux下,使用的是Linux环境下的mmap进行内存映射,不存在断点内存映射范围内的失败。需要进一步验证win平台下m_CodeHeader的赋值来源以及为何Linux下的托管断点会失败。

CLR托管问题,内存+断点映射(lldb+windbg)

dotNET跨平台
dotNET跨平台 · 2023-06-27T00:01:14Z
  • <<
  • <
  • 1 (current)
  • 2
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码