当前位置: 首页 > news >正文

正规网络推广服务荥阳seo

正规网络推广服务,荥阳seo,医疗网站的建设设计要注意什么问题,新冠病毒最新消息实时更新clangllvm多进程gdb调试 前言1. 命令行gdb2. 父进程调试3. 子进程调试4. 返回父进程 前言 在学习新增llvm的优化pass时,需要跟踪clang及llvm的调用栈。然而llvm通过posix_spawn()创建了新进程,这使得gdb调试必须有一定的技巧了。 1. 命令行gdb 以下命…

clang+llvm多进程gdb调试

  • 前言
  • 1. 命令行gdb
  • 2. 父进程调试
  • 3. 子进程调试
  • 4. 返回父进程

前言

在学习新增llvm的优化pass时,需要跟踪clang及llvm的调用栈。然而llvm通过posix_spawn()创建了新进程,这使得gdb调试必须有一定的技巧了。

1. 命令行gdb

以下命令通过clang调用新增优化pass(指令替换),将simple.c文件中的sum函数替换掉:

clang -flegacy-pass-manager -mllvm -sub -mllvm -sub_loop=1 -mllvm -sub_name=sum mvc.o simple.c -o simple

单步调试的命令为:

gdb --args clang -flegacy-pass-manager -mllvm -sub -mllvm -sub_loop=1 -mllvm -sub_name=sum mvc.o simple.c -o simple

实际上,在我的ubuntu下clang指向clang-13
在这里插入图片描述

2. 父进程调试

从调用栈可知,clang::driver::Command::Execute()调用了llvm::sys::ExecuteAndWait(),从而联系了clang模块和llvm模块。我们新增的优化pass正是llvm模块的代码。
在这里插入图片描述
如何才能在posix_spawn()函数创建子进程后,观察子进程的执行情况呢?

3. 子进程调试

follow-fork-mode的解释是:

ebugger response to a program call of fork or vfork

detach-on-fork的解释是:

Whether gdb will detach the child of a fork

根据下列博文https://blog.51cto.com/u_12740336/6252279,具体组合用途如下:
在这里插入图片描述
在本案例的使用中,需要设置成child+off模式:

(gdb) set follow-fork-mode child
(gdb) set detach-on-fork off

在这里插入图片描述

4. 返回父进程

利用inferior命令,可以切换进程:

(gdb) info inferiors
(gdb) inferior 1

在这里插入图片描述

http://www.tj-hxxt.cn/news/3441.html

相关文章:

  • 嵌入式软件开发招聘整站优化
  • 郑州网站建设专家接外包项目的网站
  • 如何做百度站长绑定网站目前最新推广平台
  • 医院网站建设策划网店推广联盟
  • 做网站教程下载做网络推广有哪些平台
  • 渝北网站制作信息流广告是什么意思
  • 网站开发营销型网站制作的费用
  • 如何做服装的微商城网站建设抖音seo运营模式
  • 家居网站建设平台手机如何创建网站
  • 做app的模板下载网站有哪些内容太原网站建设方案咨询
  • 做金融类网站定制网站建设
  • 河北网站建设收益做个公司网站多少钱
  • 邹城外贸网站建设seo推广排名
  • 网站建设写代码自己怎么创业百度一下百度官方网
  • 武汉手机网站开发六年级上册数学优化设计答案
  • 网上做试卷的网站网址收录大全
  • php网站超市源码下载牛奶推广软文文章
  • 怎么做刷业务网站关键词排名seo优化
  • 电脑网站自适应怎么做公司网站设计需要多少钱
  • 遇到灾难网站变灰怎么做今天的新闻发布会
  • 制作网页网站项目介绍百度官方下载
  • 营销网站开发选哪家百度旗下产品
  • 河北网站制作公司地址百度关键词搜索排名统计
  • 网站的积分系统怎么做的营销战略
  • 做时时彩网站微信百度推广中心
  • 产品宣传类网站设计app关键词优化
  • 珠海网站建设重庆网站建设与制作
  • 上海网站建设上海网站制作如何建网站教程
  • 网站跳转如何做edm营销
  • 北京的招聘网站有哪些黑马培训机构