作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道如何让 GAS 在汇编中为 gdb 发出行号调试信息。请注意,我使用的是 avr-gcc 交叉编译器,但怀疑这是否相关。
我正在使用以下命令行选项进行组装:
avr-gcc -g -ggdb -Os -mmcu=atmega644 -ffunction-sections -fsigned-char -Winvalid-pch -Wall -Wno-long-long -x assembler-with-cpp -Wa,-ggdb -c -o z813 .o z813.s
当我使用一组几乎相同的参数来编译 C 代码时,我可以使用“objdump -l -d”查看行号和源文件扩充。
但是,程序集对象没有。 IE
000000d4 <run_timetable>:
d4: 0e 94 57 00 call 0xae ; 0xae <run_timetable_row>
d8: 0e 94 b4 00 call 0x168 ; 0x168 <delay>
vs
00000f9c :
main():
/home/braddock/work/tviki/tviki/scratch/z813-vid.c:68
f9c: 0e 94 ae 07 call 0xf5c ; 0xf5c <init>
/home/braddock/work/tviki/tviki/scratch/z813-vid.c:70
fa0: 0e 94 6a 00 call 0xd4 ; 0xd4 <run_timetable>
最佳答案
当您“编译”汇编源代码时,调用 C 编译器有点过分。编译器将识别输入是 C 文件,并忽略您传递给它的影响 C 编译的任何选项,例如 -g 和 -Os。将“-v”传递给编译器行以查看实际传递给汇编器的选项。
当我与
avr-as --gstabs -mmcu=atmega644 a.s -o a.o
关于gcc - 如何让 GNU AS 将每行调试信息或 GDB 发送到(AVR)程序集中的单步行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1275944/
我是一名优秀的程序员,十分优秀!