首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux下C程序栈结构分析

Linux下C程序栈结构分析
EN

Stack Overflow用户
提问于 2018-10-12 19:22:02
回答 1查看 127关注 0票数 0

我想问一下,对于用C编写的程序,有没有允许调试给定程序的堆栈框架的Linux版本的gcc?

我知道我可以用-ggdb3,gcc参数来编译我的程序,它允许我找出这个程序中的符号是什么。但是,有没有什么方法可以找出过程参数是如何传递的(通过堆栈或寄存器)?

我有一个程序,它覆盖了导致SEGV的堆栈,我想从同一个程序中分析它。首先,我想要找到有问题的过程,然后我计划找到错误的位置。

EN

回答 1

Stack Overflow用户

发布于 2018-10-12 20:57:12

你有几个选择。我更喜欢的一种方式是查看实际生成的代码,因为它确切地告诉我正在执行什么。你可以在用gcc或者g++编译的时候得到这个。这将创建一个带有.S后缀的文件。

例如,gcc -S helloworld.c还将创建一个名为helloworld.S的文件,其中包含汇编代码。

如果您没有源代码,可以使用诸如objdump之类的工具将二进制代码转换为反汇编。

如果你搜索gcc assembly output,会有很多例子

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52778465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档