相关疑难解决方法(0)

C#中数组的神奇之处是什么?

int[] a = new int[5];
string[] b = new string[1];
Run Code Online (Sandbox Code Playgroud)

两者的类型ab继承自抽象System.Array,但内置库中没有真正的类(似乎有一些运行时类型,你找不到类型定义类的一个int[]).你能告诉我编译时会发生什么吗?为什么他们(c#团队)制作这个设计(我的意思是为什么它不是这样的Array<T>,而是他们使用带编译器魔法的抽象类)?

c# arrays clr runtime

22
推荐指数
3
解决办法
1837
查看次数

如何使用WinDBG跟踪.net内存异常?

我需要在.NET应用程序中找出内存不足(OOM)异常的原因.使用perfmon时,当使用相对较低的内存(500-700mb)时,应用程序会与OOM崩溃,所以我假设某种堆碎片.

在研究之后,看起来WinDBG就是用来跟踪这类问题的工具.我在运行进程的服务器上设置了DebugDiag.我还设法将DebugDiag中的转储加载到WinDBG中,连接符号服务器和我自己的私有符号文件,这一切似乎都有效 - 我可以运行类似的命令!clrstack,!dumpheap -stat并且我会看到列出的类名.

我现在遇到的问题是我不知道如何解决追踪碎片的问题.WinDGB有很多命令,有很多不同的标志和选项,我不确定我应该使用哪些.我无法找到一个关于该做什么的好教程 - 大多数都是关于让WinDBG启动和运行的基本知识.

有人能指出我正确的方向吗?

.net windbg

5
推荐指数
1
解决办法
2195
查看次数

使用WinDbg分析WPF应用程序中OutOfMemoryException的根本原因

我有一些麻烦来理解崩溃转储并找出OutOfMemoryExceptionWPF应用程序抛出的根本原因.应用程序运行几个小时后抛出异常,这清楚地表明存在内存泄漏.

我的第一步是看看!address -summary命令:

--- Usage Summary ---------------- RgnCount ------- Total Size -------- %ofBusy %ofTotal
<unknown>                              2043          58997000 (   1.384 Gb)  71.43%   69.22%
Heap                                    152           fcc3000 ( 252.762 Mb)  12.74%   12.34%
Image                                  1050           bc77000 ( 188.465 Mb)   9.50%    9.20%
Stack                                   699           7d00000 ( 125.000 Mb)   6.30%    6.10%
Free                                    518           3f6b000 (  63.418 Mb)            3.10%
TEB                                     125             7d000 ( 500.000 kb)   0.02%    0.02%
Other                                    12             36000 ( 216.000 kb)   0.01%    0.01%
PEB                                       1              1000 (   4.000 kb)   0.00% …
Run Code Online (Sandbox Code Playgroud)

debugging wpf memory-leaks windbg dump

5
推荐指数
1
解决办法
1538
查看次数

标签 统计

windbg ×2

.net ×1

arrays ×1

c# ×1

clr ×1

debugging ×1

dump ×1

memory-leaks ×1

runtime ×1

wpf ×1