在 Visual Studio 2013 中的托管单元测试上使用混合模式调试

2024-01-14

我在 Visual Studio 2013 测试框架中有一个 C# 单元测试,它练习 CLI 和本机代码。我想在执行 C# 单元测试时研究代码的本机部分。但是,运行“测试”->“调试”->“所有测试”会运行托管调试器,因此不会命中本机代码中的断点,并且我无法像在混合模式调试器下运行程序时那样从 C# -> C++/CLI 代码进行跟踪。

例如,我的单元测试中的这段代码:

[TestMethod]
public void TestRoundTripEvaluate()
{
     var obj = new MyCLIObject();
     var roundtripped = RoundtripXml( obj );

     // I would like to trace into here to see why Equals returns false.
     // But the definition for MyCLIObject is in a CPP file and cannot be navigated 
     // to running the unit test because Visual Studio starts the debugger as "managed only"
     // when using Test -> Debug -> All Tests
     Assert.IsTrue( obj.Equals( roundtripped ) ); 
}

查看单元测试项目的项目设置,“调试”下的所有内容都被禁用,因此我无法选中“启用本机代码调试”,该选项允许正常程序执行此行为。

运行 VS C# 单元测试时如何启用混合模式调试或仅本机调试?


  1. 进入属性页面对于您的单元测试项目(在解决方案资源管理器中右键单击项目,然后单击“属性”)
  2. 转到“调试”选项卡(左侧列表中从顶部数第四个)
  3. 启用复选框“启用本机代码调试”
  4. 调试单元测试 - 您可以在本机或托管代码中设置断点,并且可以单步执行任一类型的代码。

我刚刚遇到了与您相同的问题,并且能够使用这些步骤使其工作。在启用此复选框之前,它不起作用。 作为记录,我使用的是 VS2013 update 4。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio 2013 中的托管单元测试上使用混合模式调试 的相关文章

随机推荐

  • System.Text.Json 中 Newtonsoft.Json 的 JsonProperty 属性的等效项是什么?

    Newtonsoft Json 的等价物是什么JsonPropertySystem Text Json 中的属性 Example using Newtonsoft Json public class Example JsonProperty
  • 通过 canvas.toDataURL 将画布保存到图像会产生黑色矩形

    我正在使用 Pixi js 并尝试将动画帧保存到图像中 canvas toDataUrl 应该可以工作 但我得到的只是一个黑色矩形 查看实例here http anatoliyg github io toaster 我用来提取图像数据并设置
  • .Net Core 和完整框架项目合二为一

    假设我有一个包含多个项目的解决方案 其中一个项目是 Main 放置通用代码和 API 其余项目是 Main 的扩展 Extension1 Extension2 Extension3 并使用第三方库 现在我正在使解决方案在完整框架和 Net
  • Pickle ImportError:没有名为 __builtin__ 的模块

    我正在尝试在 python3 6 中加载 复制的 pickle 对象 但出现导入错误 builtin r当我这样做时 with open FilePath FileName pkl rb as file file pickle load f
  • 生产 JVM 的安全调试

    我们有一些应用程序有时会进入不良状态 但仅限于生产环境 当然 虽然进行堆转储有助于收集状态信息 但使用远程调试器通常更容易 设置起来很简单 只需将其添加到命令行中即可 Xdebug Xrunjdwp 传输 dt socket 服务器 y 挂
  • R:如何从列表的每个内部元素中删除第一个元素而不将其转换为矩阵?

    我有一个这样的清单 1 1 a1 b1 c1 2 1 a2 b2 c2 3 1 a3 b3 c3 我希望从它的每个部分中删除特定元素 1 1 a1 c1 2 1 a2 c2 3 1 a3 c3 I tried tail但删除 外部 元素 也
  • PHP + MySQL 中的递归逻辑

    我正在尝试应用递归逻辑 我有以下数据tbl appointment table recur type 1 每周 2 每月 0 非递归 appointment id user id date recur type 18 56 2014 06
  • Java Web 应用程序可以访问远程工作站上的智能卡读卡器吗?

    我正在为我们现有的基于 Java 的 Web 应用程序之一开发一些新功能 该网络应用程序本身托管在我们的一台内部服务器上 可以通过我们工厂内多个计算机终端的浏览器进行访问 该应用程序用于在我们生产过程的各个阶段进行质量检查 目前 在进行每次
  • Megaparsec:无法解析递归算术字符串

    我正在使用 Megaparsec 开发一个小型解析器并尝试解析算术 Arithmetic expressions data Aexp N Num V Var Mult Aexp Aexp Add Aexp Aexp Sub Aexp Aex
  • 如何在使用 png() 保存时修复 R 中 ggplot 的大小?

    地图尺寸 经纬度 38 31536111 76 55011111 与地图不同 纬度 经度 59 5624775 139 7410994 在地图上标绘点 用 png 保存时 如何保持尺寸一致 高度和宽度不够 编辑 完整代码 library m
  • 删除sqlite中的第一行后如何重新排列表?

    我在 sqlite 中有 1 个表 我正在向该表插入值 当插入行id大于100时 我想删除第一个插入的记录并在第100个位置插入新记录 我被删除了第一个记录 但第二个记录在第二个位置 但我想在删除第一行后重新排列记录 我该怎么做 我的表名称
  • 我将如何等待多个线程停止?

    我有一个主线程 它生成大约 20 个工作线程 我需要停止主线程 直到所有其他线程完成 我知道 线程 加入 但这仅适用于一个线程 多个连接会像这样损害性能 t1 Join t2 Join t20 Join 因为程序会一一等待每个停止 我怎样才
  • 触发器后不允许更新新行

    为什么我使用这个会出现错误trigger CREATE TRIGGER save Assignee AFTER INSERT ON changeitem FOR EACH ROW BEGIN SET new assignee SELECT
  • Xcode调试问题

    我的 Xcode 调试器有一个小问题 在我看来 步入 功能并没有发挥应有的作用 或者正如我所期望的那样 我可以介入任何方法调用 只要它没有返回值 myObject DoSomething find 可以工作 但如果该方法有返回值 则没有 S
  • LolliPop 设备中的 AutoCompleteTextView 奇怪行为

    我在用AutoCompleteTextView在我的布局中 但它是colorControlNormal and Activate没有按我的预期工作 我的颜色值为 0072BA 下图是不同设备的图 1 安卓奇巧 2 Android 棒棒糖 3
  • IOS:一个IBAction用于多个按钮

    在我的项目中 我必须控制40个按钮的操作 但我不想创建40个IBAction 我可以只使用一个IBAction吗 如果您使用界面生成器来创建按钮 只需将它们指向相关类中的相同 IBAction 即可 然后 您可以通过读取按钮中的文本来区分
  • 在比较第 1 列 1 个文件与第 1 列 N 个文件的比较的基础上进行分析,并根据第 1 列打印所有文件

    我有制表符分隔的文件 需要将 FILE 1 与 N 10 个文件进行比较 如果第一个文件的第 1 列的 IDS 与其他文件的第一列匹配 则打印文件 1 和其他文件的值 如果 IDS 不存在 第一个文件和其他文件的列不适用 下面给出了输入和预
  • 检测连接到 Wifi 的 Android 设备

    我想制作一个连接到 Wifi 网络的 Android 应用程序 假设网络 SSID ABC 假设它已连接到 Wifi ABC 连接到 ABC 后 我希望我的应用程序显示连接到同一 wifi ABC 网络的所有 Android 设备的 ip
  • 使用 Parallel.For 和 EPPlus 创建 Excel 工作表

    我正在使用EPPlus http epplus codeplex com 库来创建包含许多工作表的 Excel 工作簿 我想知道并行构建工作表是否安全 如果库支持这种行为 我在 有限的 文档中找不到提及 package new ExcelP
  • 在 Visual Studio 2013 中的托管单元测试上使用混合模式调试

    我在 Visual Studio 2013 测试框架中有一个 C 单元测试 它练习 CLI 和本机代码 我想在执行 C 单元测试时研究代码的本机部分 但是 运行 测试 gt 调试 gt 所有测试 会运行托管调试器 因此不会命中本机代码中的断