【问题标题】:Generate register info and assembly code GCC - ARM生成寄存器信息和汇编代码 GCC - ARM
【发布时间】:2013-06-26 09:01:54
【问题描述】:

我正在尝试获取ARM 中每个General purpose registers 的寄存器信息。

例如,当我们有一个段时。错误,我们创建一个核心转储,我们可以从中检查,注册信息,例如:info register r0 和使用diassemble 的汇编代码。

我确实尝试了以下link 这是我得到的以下错误:file format not recognized; treating as linker script

会不会是我链接的方式不对?

gcc -g -std=c99 -O2 -mthumb -S -march=armv7 -mthumb-interwork -static -ffunction-sections -O0 foo.c -c -o foo.o
gcc -g -std=c99 -mthumb -march=armv7 -mthumb-interwork -static -ffunction-sections -O0 foo.o -o foo 

我看到Nils Pipenbrinck的一个answer,但我不明白他是如何获取注册信息的。

您能告诉我如何获取注册信息吗?

【问题讨论】:

  • 你能详细说明你想达到什么目标吗?
  • 例如,在这个链接中:http://stackoverflow.com/questions/5429137/how-to-print-register-values-in-gdb,我们看到了如何获取注册信息。但是如果我没有核心转储,我该如何获得。这就是我使用上述技术得到的结果:gdb) info registers The program has no registers now.
  • 如果您没有核心转储或某种墓碑,我认为您将很难在崩溃时找出寄存器的值。
  • 程序不会崩溃,但是有没有办法让我获取注册信息?
  • 终极问题与问题无关。 gdb 未正确调用。

标签: linux gcc arm


【解决方案1】:

尴尬地捂住脸: gdb foo <pid>

【讨论】:

  • 如果问题最终无效,并且它的继续存在对任何人都没有任何意义,那么请考虑删除整个问题。
  • 好的。如果模组同意 - 我会这样做。
猜你喜欢
  • 1970-01-01
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 2014-11-21
相关资源
最近更新 更多