小编use*_*932的帖子

break(函数名)/ break*(函数名)时gdb中断地址不同

#include <stdio.h>

int main(void){
   int sum = 0;
   sum += 0xabcd;
   printf(“%x”, sum);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码,当我使用gdb时,我可以在break main/break*main时找到不同的地址.

当我输入反汇编主时,它显示如下:

Dump of assembler code for function main:

0x080483c4 <+0>: push %ebp
0x080483c5 <+1>: mov %esp,%ebp
0x080483c7 <+3>: and $0xfffffff0,%esp
0x080483ca <+6>: sub $0x20,%esp
0x080483cd <+9>: movl $0x0,0x1c(%esp)
0x080483d5 <+17>:addl $0xabcd,0x1c(%esp)
0x080483dd <+25>:mov $0x80484c0,%eax
0x080483e2 <+30>:mov 0x1c(%esp),%edx
0x080483e6 <+34>:mov %edx,0x4(%esp)
0x080483ea <+38>:mov %eax,(%esp)
0x080483ed <+41>:call 0x80482f4 <printf@plt>
0x080483f2 <+46>:mov $0x0,%eax
0x080483f7 <+51>:leave
0x080483f8 <+52>:ret

End of assembler dump.
Run Code Online (Sandbox Code Playgroud)

所以当我输入[break*main]时它会启动0x080483c4但输入[break main]它会启动0x080483cd

为什么起始地址不同?

debugging gdb symbols break memory-address

4
推荐指数
1
解决办法
272
查看次数

什么是tomcat默认GC选项?

catalina.sh我这样设置JAVA_OPTS.

JAVA_OPTS="-server -Xms2048m -Xmx2048m"
Run Code Online (Sandbox Code Playgroud)

在这种情况下什么是默认GC选项?

我认为默认选项是串行GC.(-XX:+UseSerialGC)

谢谢.

java tomcat garbage-collection

3
推荐指数
1
解决办法
2572
查看次数