小编com*_*ler的帖子

如何在gdb中以二进制模式打印?

我试过b但似乎不是:

(gdb) p/b 0x0000000000400398
Size letters are meaningless in "print" command.
Run Code Online (Sandbox Code Playgroud)

有这样的转换吗?

gdb

55
推荐指数
2
解决办法
4万
查看次数

如何在没有EXE或ELF等容器的情况下手动编写和执行PURE机器代码?

我只需要一个hello world演示来查看机器代码实际上是如何工作的.

虽然windows的EXElinux'ELF接近机器代码,但它不是PURE

如何编写/执行PURE机器代码?

machine-code

49
推荐指数
6
解决办法
6万
查看次数

什么是PHP中的__halt_compiler?

手册:

void __halt_compiler ( void )
Run Code Online (Sandbox Code Playgroud)

该函数停止执行编译器.这对于在PHP脚本中嵌入数据非常有用,例如安装文件.

注意:__halt_compiler()只能从最外层范围使用.

任何人都可以提供这个功能有用的实际案例吗?

php

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

WORD分别在32/64位操作系统中包含多少位?

有人有明确的答案吗?

有人说在32位操作系统上,WORD意味着16位,是吗?

cpu-word

35
推荐指数
1
解决办法
6万
查看次数

叉子究竟返回了什么?

成功时,子进程的PID在父进程的执行中返回,并在子进程的执行中返回0.

p = fork();
Run Code Online (Sandbox Code Playgroud)

我对它的手册页感到困惑,p等于0PID

c linux fork

21
推荐指数
6
解决办法
6万
查看次数

为什么空声明适用于带有int参数的定义但不适用于浮点参数?

我认为区别在于declaration没有参数类型......

为什么这样做:

int fuc();

int fuc(int i) {
  printf("%d", i);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

但这无法编译:

int fuc();

int fuc(float f) {
  printf("%f", f);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

随着消息:

错误:'fuc'的冲突类型.注意:具有默认促销的参数类型不能与空参数名称列表声明匹配

c function-prototypes function-declaration

12
推荐指数
1
解决办法
1万
查看次数

为什么在使用/ proc/kcore的gdb时我的vmlinux中没有调试符号?

我已经配置了所有CONFIG_DEBUG_相关选项y,但是当我尝试调试内核时,它说没有找到调试符号:

gdb /usr/src/linux-2.6.32.9/vmlinux /proc/kcore

Reading symbols from /usr/src/linux-2.6.32.9/vmlinux...(no debugging symbols found)...done.
Run Code Online (Sandbox Code Playgroud)

为什么?

gdb linux-kernel

10
推荐指数
1
解决办法
2万
查看次数

附加到进程时如何退出strace?

[root@woyo test]# strace -o /tmp/lsof.strace -p 5625
Process 5625 attached - interrupt to quit
q
Run Code Online (Sandbox Code Playgroud)

有谁知道?

strace

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

如何知道哪个库定义了特定的功能?

[root@xxx memcached-1.4.5]# objdump -R memcached-debug |grep freeaddrinfo
0000000000629e10 R_X86_64_JUMP_SLOT  freeaddrinfo
Run Code Online (Sandbox Code Playgroud)

...

(gdb) disas freeaddrinfo
Dump of assembler code for function freeaddrinfo:
0x00000037aa4baf10 <freeaddrinfo+0>:    push   %rbp
0x00000037aa4baf11 <freeaddrinfo+1>:    push   %rbx
0x00000037aa4baf12 <freeaddrinfo+2>:    mov    %rdi,%rbx
Run Code Online (Sandbox Code Playgroud)

所以我知道freeaddrinfo是一个动态链接的函数,但是如何知道.so它的定义?

gdb objdump

10
推荐指数
1
解决办法
3937
查看次数

为什么'max'宏在C中定义如下?

 #define max(a,b) \
   ({ typeof (a) _a = (a); \
       typeof (b) _b = (b); \
     _a > _b ? _a : _b; })
Run Code Online (Sandbox Code Playgroud)

为什么不简单(a>b ? a : b)

c macros

8
推荐指数
2
解决办法
2719
查看次数