You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

加载VSPerf170.dll触发xSharedMemoryException异常求助

问题描述

在Windows 10系统上,使用Visual Studio 2022 17.6.2版本构建了名为test的简单Win32应用,代码仅调用LoadLibrary加载VSPerf170.dll并在成功后释放。启动调试时,程序在LoadLibrary处触发异常:Exception thrown at 0x76B8E292 in test.exe: Microsoft C++ exception: xSharedMemoryException at memory location 0x00EFF330。

测试代码

#include <windows.h>
int main(int argc, char* argv[])
{
    HINSTANCE hinstLib = ::LoadLibrary(TEXT("VSPerf170.dll"));
    if (hinstLib != NULL)
    {
        BOOL fFreeResult = ::FreeLibrary(hinstLib);
    }

    return 0;
}

调试输出

'test.exe' (Win32): Loaded 'D:\program\test.exe'. Symbols loaded.
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. 
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. 
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. 
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vcruntime140d.dll'. 
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbased.dll'. 
The thread 0x438c has exited with code 0 (0x0).
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\VSPerf170.dll'. 
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. 
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. 
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. 
'test.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. 
Exception thrown at 0x76B8E292 in test.exe: Microsoft C++ exception: xSharedMemoryException at memory location 0x00EFF3C8.

调用栈信息

KernelBase.dll!76b8e292()
[Frames below may be incorrect and/or missing, no symbols loaded for KernelBase.dll]
VSPerf170.dll!7b8295c2()
VSPerf170.dll!7b825c8c()
VSPerf170.dll!7b826357()
VSPerf170.dll!7b825a95()
VSPerf170.dll!7b81bf07()
VSPerf170.dll!7b81c06d()
VSPerf170.dll!7b82851a()
VSPerf170.dll!7b8285fc()
ntdll.dll!77aa2ab6()
ntdll.dll!77a7de02()
ntdll.dll!77a81903()
ntdll.dll!77a81a71()
ntdll.dll!77a82315()
ntdll.dll!77a7e332()
ntdll.dll!77a7df76()
KernelBase.dll!76b735b6()
KernelBase.dll!76b7411a()
KernelBase.dll!76b740d2()
ucrtbased.dll!7b712c02()
ucrtbased.dll!7b70fa93()
ucrtbased.dll!7b712c02()
ucrtbased.dll!7b6d042e()
kernel32.dll!768800f9()
ntdll.dll!77a97bbe()
ntdll.dll!77a97b8e()
解决方法

VSPerf170.dll是Visual Studio性能分析工具的专属组件,它不能通过LoadLibrary直接单独加载,必须依赖性能分析工具的完整运行环境。

  • 通过性能探查器启动程序
    若需使用该DLL的功能,不要直接调试test.exe,而是在Visual Studio中打开调试 > 性能探查器(Alt+F2),选择对应的性能分析工具(比如CPU使用情况),由工具自动启动程序并加载所需的环境组件,即可避免加载异常。

  • 检查调试配置
    右键项目 → 属性 → 配置属性 → 调试,查看是否意外启用了性能分析相关的附加选项,如有则关闭。

  • 更换测试用DLL
    如果只是验证DLL加载逻辑,换用普通系统DLL(如user32.dll)测试即可,VSPerf170.dll不属于通用可加载组件,不适合作为测试目标。

内容的提问来源于stack exchange,提问作者DianChen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:07:03