Ton*_*ark 4 c gdb bitwise-operators
我正在用GDB调试程序.
unsigned int example = ~0;
Run Code Online (Sandbox Code Playgroud)
给我:
(gdb) x/4bt example
0xffd99788: 10101000 10010111 11011001 11111111
Run Code Online (Sandbox Code Playgroud)
为什么这不是全部1?我把它定义为~0 ...然后下一行代码是:
example>>=(31);
Run Code Online (Sandbox Code Playgroud)
当我尝试检查位内存时,GDB给了我这个:
(gdb) x/4bt example
0xffffffff: Cannot access memory at address 0xffffffff
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事???
我认为该x命令检查内存,因此example将被解释为指针.尝试
x/4bt &example
Run Code Online (Sandbox Code Playgroud)
或者干脆
print /x example
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
698 次 |
| 最近记录: |