在Visual Studio中调试x64单元测试

Ste*_*eve 8 c++ 64-bit unit-testing visual-studio visual-studio-2013

我在Visual Studio 2012/13中调试C++ x64单元测试时遇到困难.

对于Win32和x64,我的单元测试项目构建完美,但是在调试测试时,符号被加载但是断点集被完全跳过并且程序永远不会暂停,就像刚刚运行测试时发生的那样.

如果我为Win32构建单元测试项目,则会触发断点,我可以像往常一样进行调试.

在x64中是否有用于调试单元测试的特殊设置?从项目的默认Win32设置复制属性,并删除所有特定于win32的选项.这是配置单元测试项目的正确理念吗?

Ade*_*ler 2

您必须将测试运行程序的默认处理器架构设置为 x64。您可以在测试 | 中找到它。测试设置| 默认处理器架构| x64。

您还可以创建一个包含此设置的测试设置文件。

  • 将 XML 文件添加到 Visual Studio 解决方案中,并将其重命名,使其文件扩展名为 .runsettings。
  • 将文件内容替换为示例。
  • 根据您自己的需要进行编辑。
  • 在“测试”菜单上,选择“测试设置”,然后选择“测试设置文件”。

取自使用 .runsettings 文件配置单元测试

您想要更改TargetPlatform标志,如下所示。

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <RunConfiguration>
    <ResultsDirectory>.\TestResults</ResultsDirectory>
    <TargetPlatform>x86</TargetPlatform>
    <TargetFrameworkVersion>Framework40</TargetFrameworkVersion>
  </RunConfiguration>
  <!-- more stuff -->
</RunSettings>
Run Code Online (Sandbox Code Playgroud)