自动跟踪程序执行[关闭]

2023-11-22

我想知道我们是否可以在任何 C 或 C++ 应用程序中启用跟踪。

例如,使用 gcc 选项或小工具,我将启用跟踪,并将跟踪打印在控制台上或转储到文件中。

由于有很多文件和函数/类,我不想开始手动添加跟踪打印。

如果此类工具不可用,下一个选择是使用脚本并尝试在跟踪打印处添加。

strace没有多大用处,因为它主要提供系统调用。


要跟踪函数进入/退出,您可以使用以下选项重新编译代码-finstrument-functions这样每次调用一个函数时,__cyg_profile_func_enter()函数被调用,并且__cyg_profile_func_exit()当函数返回时被调用。

您可以实现这些函数来跟踪被调用函数的地址,然后使用nm将地址转换为函数名称。

EDIT: etrace完成这一切:它提供了源代码__cyg_profile_func_enter() and __cyg_profile_func_exit()以及将地址写入命名管道的函数以及 Perl 和 Python 脚本来读取地址并使用函数名称和缩进进行实际跟踪。

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

自动跟踪程序执行[关闭] 的相关文章

  • 通过 SocketCAN 进行 boost::asio

    我正在考虑利用升压阿西奥 http www boost org doc libs 1 49 0 doc html boost asio html从a读取数据套接字CAN http en wikipedia org wiki SocketCA
  • 在实体框架拦截器中向 DbScanExpression 添加内部联接

    我正在尝试使用实体框架 CommandTree 拦截器通过 DbContext 向每个查询添加过滤器 为了简单起见 我有两个表 一个称为 User 有两列 UserId 和 EmailAddress 另一个称为 TenantUser 有两列
  • 在 C# 中按元素相乘数组具有意想不到的性能

    我想找到按元素相乘两个数组的最佳方法 这是更广泛项目的一部分 其中性能而不是唯一的考虑因素 我今天开始用 C Linqpad 编写一些函数 因此它还没有以任何方式进行优化 下面代码的输出如下 Environment ProcessorCou
  • 何时使用 =default 使析构函数默认?

    尽管对构造函数使用 default 对我来说很清楚 即强制编译器在其他构造函数存在时创建默认构造函数 但我仍然无法理解这两种类型的析构函数之间的区别 那些使用 default 的 那些没有显式定义并由编译器自动生成的 我唯一想到的是 gro
  • 为什么在创建矩阵类时使用向量不好?

    对于我的矩阵类 我做了 template
  • 如何在 C# / .NET 中创建内存泄漏[重复]

    这个问题在这里已经有答案了 可能的重复 托管代码中是否可能存在内存泄漏 特别是 C 3 0 https stackoverflow com questions 6436620 is it possible to have a memory
  • 平滑滚动.net 表单

    您好 我正在 net 中使用表单 并且在运行时动态添加大量链接标签 我将这些链接标签添加到面板并将该面板添加到 winform 当链接标签的数量增加时 表单会显示一个自动滚动条 垂直 现在 当我使用自动滚动向下滚动时 表单在滚动时不会更新其
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • EF Core 通过完全替换断开集合导航属性的更新

    使用 EF Core 5 0 我有一个 SPA 页面 可以加载Group实体及其集合Employee来自 API 的实体 var groupToUpdate await context Groups Include g gt g Emplo
  • VS 程序在调试模式下崩溃,但在发布模式下不崩溃?

    我正在 VS 2012 中运行以下程序来尝试 Thrust 函数查找 include cuda runtime h include device launch parameters h include
  • 为什么这个没有特殊字符的正则表达式会匹配更长的字符串?

    我正在使用此方法来尝试查找匹配项 例如 Regex Match A2 TS OIL TS OIL RegexOptions IgnoreCase Success 我得到了真实的结果 我很困惑 我认为这应该返回 false 因为模式中没有特殊
  • 动态生成的控件 ID 返回为 NULL

    我可以在 Page PreInit 函数中创建动态控件 如何检索控件及其 ID 我的 C 代码用于创建动态控件之一 var btn new WebForms Button btn Text btn ID Addmore btn Click
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • 从 WebBrowser 控件 C# 获取滚动值

    我试图在 WebBrowser 控件中获取网页的 Y 滚动索引 但无法访问内置滚动条的值 有任何想法吗 对于标准模式下的 IE 使用文档类型 正如你所说 scrollTop是的财产元素 而不是 HtmlDocument htmlDoc th
  • Visual Studio Code:如何配置 includePath 以获得更好的 IntelliSense 结果

    我是使用 Visual Studio Code 的完全初学者 我不知道我在做什么 我已经四处搜索 也许还不够 但我找不到像我这样的人如何配置的简单解释c cpp properties json每当我单击带有绿色波浪线下划线的行旁边的黄色灯泡
  • 运行选定的代码生成器时出错:“未将对象引用设置到对象的实例。”错误?

    我已经尝试了所有解决方案 例如修复 VS 2013 但没有用 当您通过右键单击控制器文件夹来创建控制器并添加控制器时 然后右键单击新创建的控制器的操作并选择添加视图 当我尝试创建视图时 就会发生这种情况 它不是一个新项目 而是一个现有项目
  • 将标量添加到特征矩阵(向量)

    我刚刚开始使用 Eigen 库 无法理解如何向所有矩阵成员添加标量值 假设我有一个矩阵 Eigen Matrix3Xf mtx Eigen Matrix3Xf Ones 3 4 mtx mtx 1 main cxx 104 13 error
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo

随机推荐

  • 重定向系统中的 cookie 令人困惑

    我从事 PHP 工作 我想在登录后将页面重定向到我想访问的最后一个页面 但 5 小时后我仍然堆在这里 但我仍然没有成功 这是架构 我有 3 个 php 文件 newest php before login signin php before
  • 运行时检查失败 #2 - 变量周围的堆栈已损坏

    我已经在 stackoverflow 上看到了一些问题 但没有一个能解决我的问题 我在 C 中有该代码 include
  • Switch Case 语句中出现重复 const 声明错误

    我有以下代码 但收到错误 重复声明 query url switch condition case complex const query url something break default const query url someth
  • 如何正确调用TFS中的GetWorkspace?

    目前当我打电话时GetWorkspace I get ItemNotMappedException例外 但是当我手动迭代工作区时 我可以让我的代码正常工作 这太奇怪了 我想知道我是否应该在调用之前调用一些刷新或其他东西GetWorkspac
  • 使用Python请求时如何获取底层socket

    我有一个 Python 脚本 它使用以下命令创建许多短暂的并发连接requests图书馆 我特别需要找出每个连接使用的源端口 并且我认为我需要为此访问底层套接字 有没有办法通过响应对象来获取它 对于流连接 使用stream True参数 您
  • 使用鼠标旋转画布中的图像

    在我的代码中 我将图像加载到画布中 然后我需要调整大小 旋转和拖动它 我设法实现了拖动和调整大小 如何在这段代码上使用鼠标实现旋转 沿着图像的中心 我的 HTML 页面
  • 我应该使用什么 Java FTP 客户端库? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 由于我没有收到对我的问题的
  • C# foreach on IEnumerable vs. List - 元素修改仅对数组持久 - 为什么?

    在 C 中 我注意到如果我在生成的 LINQ 上运行 foreach 循环IEnumerable
  • 从内存流上传到天蓝色存储返回空文件

    我正在使用内存流将 System Drawing Bitmap 写入 Azure 存储 我有正确的凭据 并且天蓝色的所有内容都正确连接 我已经使用输入流成功地将图像上传到 blob 中 所以我认为这一定是我使用内存流对象的方式有问题 经过一
  • 在windows 10 Home上安装Docker,可以吗?

    Docker 需要 win 10 pro 因为它需要一些虚拟化扩展 HyperV 和容器 win 10 Home 可以满足这些要求吗 是的 可以在Windows 10 Home上完成 在win10Home v1809 27 01 2019上
  • 继续中断的 git-push(恢复上传)

    所以我正在做这个相当大的 git push 大约 2 GB 的数据被推送到我的服务器 突然我的 wifi 连接断了 因此 现在在通过慢速连接传输了超过 250 MB 数据后 我必须重新开始 只是冒着整个事情重来的风险 rant 当对 SSH
  • 如何停止 Elmah 日志记录?

    我在 Azure 网站上使用 Elmah MVC 2 和 MVC3 ASP NET 4 5 我已将其设置为通过 web config 记录到网络服务器上的 XML 文件 这一切都有效 但是我想暂时停止它 因为我相信它可能会减慢网络服务器的速
  • 如何找到浏览器中断文本段落的位置

    我需要在浏览器自然在文本段落中添加换行符的位置添加换行符 例如 这是一段很长的文字 n跨越段落中的多行 这是浏览器选择在以下位置中断的段落 n 我需要找到这个位置并插入一个 有谁知道有什么 JS 库或函数可以做到这一点吗 到目前为止 我找到
  • 如何在外部隐藏/显示 ng-grid 列?

    我在用ng grid我想去哪里隐藏 显示外部列按钮点击 我尝试过这个 但它不起作用 scope gridOptions gridScope columns 0 toggleVisible 尝试使用 ng click 指令 你的 html 按
  • 如何告诉 gcc 在 switch/case 语句上不间断地发出警告(或失败)?

    我有一个复杂的switch声明 我忘了加上break在其中之一的末尾cases 这是相当合法的 因此我陷入了下一个case 如果我忽略了 有什么方法可以让 gcc 发出警告 甚至更好 失败 break陈述 我意识到有许多有效的用例 并且我经
  • 将数字 (22,21) 映射到 BigDecimal 时,Hibernate 导致结果精度损失

    我在 Oracle 11g 中将此列映射为 NUMBER 21 20 在 Hibernate 中映射为 Column name PESO precision 21 scale 20 nullable false public BigDeci
  • Workflow Foundation - Literal 仅支持值类型和不可变类型 System.String

    我对名为 MyCodeActivity 的 WF 代码活动进行了以下单元测试 ExpectedException typeof ArgumentException TestMethod public void ShouldRequirePa
  • Chartjs:尝试旋转 y 轴标签

    我尝试过类似的事情maxRotate and rotate 将它们放入scaleLabel等等 我在文档中找不到任何内容 谷歌上的搜索结果也没有多大帮助 var myChart new Chart ctx type line data ch
  • 在 PHP 中包含大量文件(就像基于文件的会话一样)是否不好?

    在阅读了基于文件的 PHP 会话对于性能而言如何不是最好的之后 我开始思考 这是否意味着包含大量文件的 PHP 脚本也很糟糕 因为它包含一个文件 或者这与检索会话数据文件的方式不同 您应该使用 spl autoload register 和
  • 自动跟踪程序执行[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想知道我们是否可以在任何 C 或 C 应用程序中启用跟踪 例如 使用 gcc 选项或小工具 我将启用跟踪 并将跟踪打印在控制台上或转储到文件中 由