在windbg中加载转储文件后,我运行了以下命令
.loadby sos clr
然后我在运行ThreadPool命令时收到以下消息
> 0:000> !ThreadPool The version of SOS does not match the version of
> CLR you are debugging. Please load the matching version of SOS for
> the version of CLR you are debugging. CLR Version: 4.0.30319.18444 SOS
> Version: 4.0.30319.34011
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?我在我正在进行分析的机器上安装了.NET 4.5.如果我尝试在该计算机上安装.NET 4.0,它不会让我,因为已经安装了更高版本.
我想检查进程的本机堆,以查看内存中存在的本机类以及它们的大小.它相当于sos!dumpheap -stat命令.是否有可能在原生方面做到这一点?
从转储文件中,是否可以确定使用服务器与工作站的垃圾收集模式?如果是这样,什么命令?
是否可以在外部进程上强制GC?我的意思是没有附加到Visual Studio/windbg等我知道可能有可能用VS立即窗口这样的东西.
编辑
看起来这可以通过PerfView完成,但我可以找到很多信息,好像这是一个完整的GC或什么.有任何想法吗?
我正在尝试调查代码中的访问冲突问题.正如您所看到的,地址的某些值包含撇号字符(如7fb`80246000中所示).
0:000> !address -summary
--- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal
Free 424 7fb`80246000 ( 7.982 Tb) 99.78%
Run Code Online (Sandbox Code Playgroud) 我的代码如下
// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
#include <windows.h>
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
BYTE* pAlloc1 = NULL;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
创建以下错误.
错误C2065:'BYTE':未声明的标识符
我在这做错了什么?
我正在学习使用java-script和html5创建Windows 8商店应用程序.我的问题是,如果我需要为这个项目创建一些类库,可以使用javascript/html5创建它们.