如何判断它是托管内存泄漏还是本机内存泄漏?

Sil*_*ent 4 .net memory-leaks windbg managed sos

我与原生dll交互的.NET进程抛出OutOfMemory异常.以下是!address -summary和--eeheap-gc coammands.这是否意味着它是管理泄漏还是原生泄漏?

0:000>!address -summary
ProcessParametrs 002f10a8,范围002f0000 003f0000
环境002f07f0,范围002f0000 003f0000

--------------------使用摘要--------------------------
TotSize( KB)Pct(Tots)Pct(Busy)用法
17773000(384460):18.33%22.25%:RegionUsageIsVAD
168aa000(369320):17.61%00.00%:RegionUsageFree
110fe000(279544):13.33%16.18%:RegionUsageImage
395fe000(940024):44.83 %54.41%:RegionUsageStack 396000
(3672):00.18%00.21%:RegionUsageTeb
7540000(120064):05.73%06.95%:RegionUsageHeap
0(0):00.00%00.00%:RegionUsagePageHeap
1000(4):00.00%00.00%:RegionUsagePeb
0 (0):00.00%00.00%:RegionUsageProcessParametrs
0(0):00.00%00.00%:RegionUsageEnvironmentBlock
Tot:7fff0000(2097088 KB)忙:69746000(1727768 KB)

--------------------类型摘要--------------------------
TotSize( KB)Pct(Tots)用法
168aa000(369320):17.61%:
15970000(353728):16.87%:MEM_IMAGE
47e9000(73636):03.51%:MEM_MAPPED
4f5ed000(1300404):62.01%:MEM_PRIVATE

--------------------状态摘要--------------------------
TotSize( KB)Pct(Tots)用法
303e1000(790404):37.69%:MEM_COMMIT
168aa000(369320):17.61%:MEM_FREE
39365000(937364):44.70%:MEM_RESERVE

最大的自由区域:基数0d8b1000 - 大小0010f000(1084 KB)

0:000>!EEHeap -gc
GC堆数:1
代0开始于0x425f776c
第1代开始于0x425f5a08
第2代开始于0x01881000
临时段分配上下文:无
段开始分配大小
01880000 01881000 0281ecf8 0x00f9dcf8(16375032)
12010000 12011000 12f83a04 0x00f72a04 (16198148)
1e0a0000 1e0a1000 1e734094 0x00693094(6893716)
41e80000 41e81000 427048d0 0x008838d0(8927440)
大对象堆从0x02881000
段开始分配大小
02880000 02881000 02a36958 0x001b5958(1792344)
13010000 13011000 137c0020 0x007af020(8056864)

总大小0x378b9d8(58243544)

GC堆大小0x378b9d8(58243544)

Han*_*ant 7

395fe000 ( 940024) : 44.83% 54.41% : RegionUsageStack
Run Code Online (Sandbox Code Playgroud)

避免同时运行一千个线程.