Windows7平台上有一个强大的SxsTrace工具,可以跟踪调试应用程序运行时需要的动态库的版本和路径。
SxsTrace使用的方法:
1、首先必须以Administrator用户身份登录,打开cmd命令行;
2、也可以以其它用户登录,然后打开cmd命令行,执行:runas /user:administrator cmd,输入Administrator用户密码后,系统打开一个以Administrator用户登录的cmd命令行;
3、在Administrator用户登录的命令行下执行命令:cd ,转换命令到C:目录;
4、继续执行命令:SxsTrace Trace -logfile:SxsTrace.etl,启动跟踪;
5、执行目标程序,在弹出错误对话框后,对话框显示的是:
应用程序无法启动,因为应用程序的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行SxsTrace.exe工具
6、关闭对话框后,回到命令行,点击回车;
7、继续执行命令:SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt,解析跟踪信息为文本;
8、打开SxsTrace.txt就可以看到相关跟踪信息。
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Windows\system32>cd..
C:\Windows>sxstrace.exe
WinSxs 跟踪实用工具。
用法: SxsTrace [选项]
选项:
Trace -logfile:FileName [-nostop]
为 sxs 启用跟踪。
将跟踪日志保存到 FileName。
如果指定 -nostop,则不会提示停止跟踪。
Parse -logfile:FileName -outfile:ParsedFile [-filter:AppName]
将原始跟踪文件转换成用户可读的格式并将结果保存到 ParsedFile。
使用 -filter 选项筛选输出。
Stoptrace
停止跟踪(如果以前未停止过跟踪)。
示例: SxsTrace Trace -logfile:SxsTrace.etl
SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt
C:\Windows>sxstrace trace -logfile:sxtrace.etl
已启动跟踪。跟踪将保存到文件 sxtrace.etl。
按 Enter 停止跟踪...
C:\Windows>sxstrace parse -logfile:sxstrace.etl -outfile:sxstrace.txt
正在分析日志文件 sxstrace.etl...
ProcessTrace 失败。错误消息是:
C:\Windows>cd system32
C:\Windows\System32>sxstrace trace -logfile:sxtrace.etl
已启动跟踪。跟踪将保存到文件 sxtrace.etl。
按 Enter 停止跟踪...
C:\Windows\System32>sxstrace parse -logfile:sxstrace.etl -outfile:sxstrace.txt
正在分析日志文件 sxstrace.etl...
分析完毕! 将输出保存到文件 sxstrace.txt。
C:\Windows\System32>
=================
开始生成激活上下文。
输入参数:
Flags = 0
ProcessorArchitecture = x86
CultureFallBacks = zh-CN;zh-Hans;zh;en-US;en
ManifestPath = D:\anagerService.exe
AssemblyDirectory = D:\
Application Config File =
-----------------
信息: 正在解析清单文件 D:\rService.exe。
信息: 指令清单定义标识是 (null)。
信息: 参考: Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1"
信息: 正在解析参考 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1"。
信息: 正在解析 ProcessorArchitecture x86 的参考。
信息: 正在解析区域性 Neutral 的参考。
信息: 正在应用绑定策略。
信息: 在 C:\Windows\WinSxS\manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_f47ed0f6f6564d90.manifest 查找发布服务器策略。
信息: 发布服务器策略重定向的程序集版本。
信息: 发布策略程序集标识是 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.4940"。
信息: 开始程序集探测。
信息: 未找到 WinSxS 中的程序集。
信息: 尝试在 C:\Windows\assembly\GAC_32\Microsoft.VC90.CRT\9.0.30729.4940__1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.DLL 上探测指令清单。
信息: 尝试在 D:\\Microsoft.VC90.CRT.DLL 上探测指令清单。
信息: 尝试在 D:\PMS\Microsoft.VC90.CRT.MANIFEST 上探测指令清单。
信息: 尝试在 D:\PMS\Microsoft.VC90.CRT\Microsoft.VC90.CRT.DLL 上探测指令清单。
信息: 尝试在 D:\PMS\Microsoft.VC90.CRT\Microsoft.VC90.CRT.MANIFEST 上探测指令清单。
信息: 未找到区域性 Neutral 的指令清单。
信息: 结束程序集探测。
错误: 无法解析参考 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1"。
错误: 生成激活上下文失败。
结束生成激活上下文。
SxsTrace使用的方法:
1、首先必须以Administrator用户身份登录,打开cmd命令行;
2、也可以以其它用户登录,然后打开cmd命令行,执行:runas /user:administrator cmd,输入Administrator用户密码后,系统打开一个以Administrator用户登录的cmd命令行;
3、在Administrator用户登录的命令行下执行命令:cd ,转换命令到C:目录;
4、继续执行命令:SxsTrace Trace -logfile:SxsTrace.etl,启动跟踪;
5、执行目标程序,在弹出错误对话框后,对话框显示的是:
应用程序无法启动,因为应用程序的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行SxsTrace.exe工具
6、关闭对话框后,回到命令行,点击回车;
7、继续执行命令:SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt,解析跟踪信息为文本;
8、打开SxsTrace.txt就可以看到相关跟踪信息。
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Windows\system32>cd..
C:\Windows>sxstrace.exe
WinSxs 跟踪实用工具。
用法: SxsTrace [选项]
选项:
Trace -logfile:FileName [-nostop]
为 sxs 启用跟踪。
将跟踪日志保存到 FileName。
如果指定 -nostop,则不会提示停止跟踪。
Parse -logfile:FileName -outfile:ParsedFile [-filter:AppName]
将原始跟踪文件转换成用户可读的格式并将结果保存到 ParsedFile。
使用 -filter 选项筛选输出。
Stoptrace
停止跟踪(如果以前未停止过跟踪)。
示例: SxsTrace Trace -logfile:SxsTrace.etl
SxsTrace Parse -logfile:SxsTrace.etl -outfile:SxsTrace.txt
C:\Windows>sxstrace trace -logfile:sxtrace.etl
已启动跟踪。跟踪将保存到文件 sxtrace.etl。
按 Enter 停止跟踪...
C:\Windows>sxstrace parse -logfile:sxstrace.etl -outfile:sxstrace.txt
正在分析日志文件 sxstrace.etl...
ProcessTrace 失败。错误消息是:
C:\Windows>cd system32
C:\Windows\System32>sxstrace trace -logfile:sxtrace.etl
已启动跟踪。跟踪将保存到文件 sxtrace.etl。
按 Enter 停止跟踪...
C:\Windows\System32>sxstrace parse -logfile:sxstrace.etl -outfile:sxstrace.txt
正在分析日志文件 sxstrace.etl...
分析完毕! 将输出保存到文件 sxstrace.txt。
C:\Windows\System32>
=================
开始生成激活上下文。
输入参数:
Flags = 0
ProcessorArchitecture = x86
CultureFallBacks = zh-CN;zh-Hans;zh;en-US;en
ManifestPath = D:\anagerService.exe
AssemblyDirectory = D:\
Application Config File =
-----------------
信息: 正在解析清单文件 D:\rService.exe。
信息: 指令清单定义标识是 (null)。
信息: 参考: Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1"
信息: 正在解析参考 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1"。
信息: 正在解析 ProcessorArchitecture x86 的参考。
信息: 正在解析区域性 Neutral 的参考。
信息: 正在应用绑定策略。
信息: 在 C:\Windows\WinSxS\manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_f47ed0f6f6564d90.manifest 查找发布服务器策略。
信息: 发布服务器策略重定向的程序集版本。
信息: 发布策略程序集标识是 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.4940"。
信息: 开始程序集探测。
信息: 未找到 WinSxS 中的程序集。
信息: 尝试在 C:\Windows\assembly\GAC_32\Microsoft.VC90.CRT\9.0.30729.4940__1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.DLL 上探测指令清单。
信息: 尝试在 D:\\Microsoft.VC90.CRT.DLL 上探测指令清单。
信息: 尝试在 D:\PMS\Microsoft.VC90.CRT.MANIFEST 上探测指令清单。
信息: 尝试在 D:\PMS\Microsoft.VC90.CRT\Microsoft.VC90.CRT.DLL 上探测指令清单。
信息: 尝试在 D:\PMS\Microsoft.VC90.CRT\Microsoft.VC90.CRT.MANIFEST 上探测指令清单。
信息: 未找到区域性 Neutral 的指令清单。
信息: 结束程序集探测。
错误: 无法解析参考 Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1"。
错误: 生成激活上下文失败。
结束生成激活上下文。