[xx@ test]# objdump -d test_utf8 -S -l --start-address 0x0000000000400d50 --stop-address 0x0000000000400d88
test_utf8: file format elf64-x86-64
Disassembly of section .text:
0000000000400d50 <zalloc>:
zalloc():
/root/test/alloc.c:19
void *
alloc(size_t size)
{
void *p;
400d50: 55 push %rbp
400d51: 48 89 e5 mov %rsp,%rbp
400d54: 48 83 ec 20 sub $0x20,%rsp
400d58: 48 89 7d e8 mov %rdi,-0x18(%rbp)
/root/test/alloc.c:22
p = malloc(size);
return p;
400d5c: 48 8b 7d e8 mov -0x18(%rbp),%rdi
400d60: e8 cc ff ff ff callq 400d31 <alloc>
400d65: 48 89 45 f8 mov %rax,-0x8(%rbp)
/root/test/alloc.c:24
}
400d69: 48 83 7d f8 00 cmpq $0x0,-0x8(%rbp)
400d6e: 74 12 je 400d82 <zalloc+0x32>
/root/test/alloc.c:25
void *
400d70: 48 8b 55 e8 mov -0x18(%rbp),%rdx
400d74: 48 8b 7d f8 mov -0x8(%rbp),%rdi
400d78: be 00 00 00 00 mov $0x0,%esi
400d7d: e8 86 f9 ff ff callq 400708 <memset@plt>
/root/test/alloc.c:28
zalloc(size_t size)
{
void *p;
400d82: 48 8b 45 f8 mov -0x8(%rbp),%rax
/root/test/alloc.c:29
400d86: c9 leaveq
400d87: c3 retq
以上的前提是test_utf8带有调式符号。