如何在 WinRT 中从 C++ 获取堆栈跟踪?

2024-07-01

我需要从 C++ 应用程序获取堆栈跟踪,并将其序列化为字符串,以便稍后解析。我在 Windows 上听说过的唯一 API 是 StackWalk64,它似乎不受支持。

如何在 Windows 应用商店应用程序中从 C++ 获取堆栈跟踪?


我能够调试复杂 WINRT 问题的唯一方法是使用 ETW 来跟踪因果链。虽然设置起来有点乏味这篇文章(参考 c#)重点介绍了该方法:

  • 安德鲁·斯塔修克。异步因果链跟踪 http://msdn.microsoft.com/en-us/magazine/jj891052.aspx

这里有一些关于 C/C++ 的 ETW 的不错的介绍。

  • Windows 事件跟踪 http://msdn.microsoft.com/en-us/magazine/cc163437.aspx#S1Insung Park 博士和 Ricky Buch 撰写的 MSDN 文章“Improve Debugging And Performance Tuning With ETW”中的章节
  • 所以问题如何从 C++ Windows 客户端使用 ETW https://stackoverflow.com/questions/2134384/how-to-use-etw-from-a-c-windows-client

使用此方法,您应该能够创建 ETW 事件,然后在应用程序中侦听它们,并将它们作为序列化字符串包含在内以供稍后分析。

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

如何在 WinRT 中从 C++ 获取堆栈跟踪? 的相关文章

随机推荐

  • 限制用户可以上传的文件数量

    我要上传多个文件 并希望限制每个用户只能上传 3 个文件 我的问题是我需要知道有多少个文件user数据库中已经创建了多少个文件以及当前正在上传多少个文件 可以一次上传多个文件 也可以多次上传 我尝试过很多事情 包括 创建一个验证器 http
  • 使用 jquery gmap3 和 autoFit 设置最大缩放级别

    我在 gmap3 插件上使用 autoFit 因此它可以缩放到地图上对象的最佳级别 问题是 当只有 1 个对象时 它会放大到太远的最大级别 我怎样才能使它的缩放级别不超过 14 级 Thanks 您可以使用 maxZoom 但这设置了地图的
  • 使用 == 比较 Long 对象类型和原始 int

    我有一个通过调用返回 Long 对象数据类型的方法 resp getResultCode 我想比较一下HttpStatus GONE value 它实际上只返回一个原始 int 值410 Long 会拆箱自身以正确地与 int 原语进行比较
  • 点击超链接时调用 javascript 函数

    我正在 ASP NET 的 C 代码隐藏文件中动态创建超链接 我需要在客户端点击时调用 JavaScript 函数 我该如何做到这一点 仍然更整洁 而不是typical href or href javascript void or hre
  • 图像上的中心水印

    我需要在图像上添加水印 我已经使用此代码解决了问题 工作良好 但图像位于左 下角 如何设置水印在图片中心居中 img test jpg Load the image where the logo will be embeded into i
  • 如何声明多个元素共有的属性?

    我有多个元素想要赋予这些属性 这在 DTD 中是否可行 或者我必须手动完成 另外 当我在这里时 我认为宣布margin and padding属性就是这样 有谁知道更好的方法
  • Docker 容器在“docker run -d”后将自动停止

    根据我到目前为止阅读的教程 使用 docker run d 将从镜像启动一个容器 容器将在后台运行 这是它的样子 我们可以看到我们已经有了容器 id root docker home root docker run d centos 605
  • 同时捕获输出行数和返回代码

    我正在编写一个 bash 脚本 它将调用一个程序 我们称之为 foo 该程序返回一些输出 并给出返回代码 我关心程序的返回码和输出的行数 但不关心输出本身 由于该程序涉及通过互联网检索数据 因此我不希望调用它两次 特别是 如果两次调用中只有
  • READ_UNCOMMITTED 与无事务?

    在事务外部执行 SQL 与在 READ UNCOMMITTED 隔离模式下执行 SQL 之间有什么区别 澄清 我试图理解两者之间的区别java sql Connection TRANSACTION NONE http download or
  • 使用 Google Places API 时 Flutter-Web 出现 XMLHttpRequest 错误(firebase 托管)

    在我的 Flutter Web 应用程序中 我尝试使用 flutter google places 包获取地址 我正在尝试简单的代码来获取自动完成地址字段 MyTextField 只是一个自定义的文本字段 final addressFiel
  • IE8固定标题,可滚动GridView

    我知道有人问过这个话题 但这些帖子都已经过时了 或者在 IE8 上不起作用 简而言之 我们基本上想要在 GridView 中对列标题进行 Excel 样式锁定 我见过几个解决方案 其中一个 jquery css setExpression
  • Webkit 浏览器在确定表格布局中的单元格宽度时不考虑填充:已修复

    我在申请时得到不同的结果table layout fixed到表格并在单元格上使用填充 IE 和 Firefox 似乎可以通过将单元格宽度和填充加在一起来正常工作 Chrome 和 Safari 仅使用单元格宽度 我看到该问题存在一个错误
  • Javascript:在文档中查找 URL

    如何在文档中查找 URL 即 www domain com 并将其放入锚点中 www domain com html Hey dude check out this link www google com and www yahoo com
  • 如何在运行时读取类型的元数据?

    我想编写一个程序来打印 Haskell 类型的一些元数据 尽管我知道这不是有效的代码 但其想法是这样的 data Person Person name String age Int metadata Type gt String metad
  • 实施黑名单的最有效方法

    我开发了一个 Ip 过滤器 并猜测我如何使用任何类型的 esque 数据结构开发一个非常高效且快速的黑名单过滤器 我想做的很简单 每个传入 传出连接我都必须检查被阻止的 IP 列表 IP是分散的 内存使用应该是线性的 不依赖于阻止列表的数量
  • json_array 中的教义搜索[重复]

    这个问题在这里已经有答案了 我试图在 Doctrine Symfony 3 中的 json 类型中进行基本搜索 我的字段声明如下 ORM Column name data type json array nullable true priv
  • 使用硬件键盘时 Android TabHost 选项卡会窃取焦点

    我目前有一个TabHost包含 4 个选项卡 在一些片段上我们有一些EditText布局内的视图 我们注意到 当您尝试输入任何内容时EditText使用硬件键盘的视图 焦点被窃取EditText并赋予当前活动选项卡TabHost 这只发生在
  • 如何生成唯一的DICOM UID?

    我正在研究 DICOM 门控 PET 数据 我想人为地创建一个包含门控数据的 DICOM 图像系列 我正在查询 SOPInstanceUID 的增量值 它标记每个阶段或门中的每个图像切片 这些对于门中的每个切片都有不同的值 并且在门之间递增
  • 谷歌地图如何将图像添加到InfoWindow中

    您好 我正在尝试将图像添加到谷歌地图信息窗口中 我的代码就像这样的脚本 var ContactUs function return main function to initiate the module init function var
  • 如何在 WinRT 中从 C++ 获取堆栈跟踪?

    我需要从 C 应用程序获取堆栈跟踪 并将其序列化为字符串 以便稍后解析 我在 Windows 上听说过的唯一 API 是 StackWalk64 它似乎不受支持 如何在 Windows 应用商店应用程序中从 C 获取堆栈跟踪 我能够调试复杂