x86_64体系架构中函数调用时整数和指针参数按照从左到右的顺序依次保存在寄存器rdi,rsi,rdx,rcx,r8和r9中,浮点型参数保存在寄存器xmm0,xmm1......中。若有更多的参数则按照从右到左的顺序依次压入堆栈。
当使用GDB工具调试C代码时,若使用break function设置断点时,若使用break function_name则断点设置在进入function以及保存完寄存器后的汇编语句上,而使用break *function_name则断点设置在刚刚进入函数的位置上(并没有保存栈帧到堆栈)。
来源:oschina
链接:https://my.oschina.net/u/206258/blog/172930