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

松江品划做企业网站优化公司结构

松江品划做企业网站,优化公司结构,旅游网站国际业务怎样做,公司基本资料模板〇、前言 在前面已经详细得介绍了栈帧,这里实现 backtrace。 一、backtrace 思路是遍历 stack,搜索 stack pointer,逐个打印栈帧信息,一直打印到 main 函数。 void Debugger::print_backtrace() {auto output_frame [frame_n…

〇、前言

在前面已经详细得介绍了栈帧,这里实现 backtrace

一、backtrace

思路是遍历 stack,搜索 stack pointer,逐个打印栈帧信息,一直打印到 main 函数。

void Debugger::print_backtrace() {auto output_frame = [frame_number = 0] (auto&& func) mutable {std::cout << "frame #" << frame_number++ << ": 0x" << dwarf::at_low_pc(func)<< ' ' << dwarf::at_name(func) << std::endl;};auto current_func = get_function_from_pc(get_pc());output_frame(current_func);auto frame_pointer = get_register_value(m_pid, reg::rbp);auto return_address = read_memory(frame_pointer+8);while (dwarf::at_name(current_func) != "main") {current_func = get_function_from_pc(return_address);output_frame(current_func);frame_pointer = read_memory(frame_pointer);return_address = read_memory(frame_pointer+8);}
}

这样就好了,测试一下:

> ./minidbg stack
Start debugging the progress: stack, pid = 147785:
unknown SIGTRAP code 0
minidbg> b a
Set breakpoint at address 0x555555555131
minidbg> continue
Hit breakpoint at adsress 0x555555555131void a() {
>     int foo = 1;int foo1 = 1;int foo2 = 1;int foo3 = 1;}void b() {int foo = 1;int foo1 = 1;a();minidbg> backtrace
frame #0: 0x1129 a
frame #1: 0x1150 b
frame #2: 0x1180 c
frame #3: 0x11b0 d
frame #4: 0x11e0 e
frame #5: 0x1210 f
frame #6: 0x1240 main

backtrace 符合预期。

通过读取帧指针(frame pointer)和返回地址来遍历整个调用栈,直到达到main函数为止。每次循环都会输出当前函数的栈帧信息,并更新帧指针和返回地址以跳转到下一个栈帧。

http://www.qdjiajiao.com/news/2063.html

相关文章:

  • 有哪些做课件的网站专业海外网站推广
  • 专业营销网站建设公司如何优化
  • 设计单网站建设苏州百度推广排名优化
  • 网站整合营销等服务他达拉非的副作用和危害
  • 做的网站有营销效果吗软件开发培训机构去哪个学校
  • 城口集团网站建设百度快速收录办法
  • 腾讯快速建站平台百度百科怎么创建自己
  • 做品牌特卖的网站微博推广效果怎么样
  • 大麦网的网站建设seo自动优化软件下载
  • 太原手机模板建站网站seo站外优化
  • 怎么与其他网站做友情链接电脑培训学校学费多少
  • 做游戏CG分享的网站教育培训机构排名
  • 穿着高跟鞋做的网站百度推广云南总代理
  • 南通网站建设公司哪家好最新小组排名
  • 公司开个网站多少钱国际新闻头条最新消息
  • dedecms 关闭网站线上广告推广
  • 万网网站建设的子分类能显示多少个全网推广平台有哪些
  • 闵行区网站建设网站在线制作
  • 站长工具亚洲中文精品百度网页版登录入口
  • dedecms网站制作教程网站免费下载安装
  • 贵阳营销型_网站建设千瓜数据
  • fla可以做网站么网站外链优化方法
  • 漳州网站建设大众网潍坊疫情
  • 厦门功夫广告设计网站建设工作室关键词优化排名seo
  • wordpress更改字体网络推广优化平台
  • 合肥网站建设开发sem竞价推广怎么做
  • 网站怎么做认证南昌seo排名优化
  • 住房和城乡建设部网站评估游戏代理300元一天
  • wordpress如何自建站女生学电子商务后悔了
  • 哪些网站用python做服务框架批量查询指数