我在Matlab Simulink中有一个模拟,它使用带有算法代码的SO库文件。我想知道使用GDB的特定内存地址的读/写权限。例如,我关心知道此变量的内存权限:
(gdb) p &CalValid
$3 = (const WORD *) 0x91f6005c <CalValid>
如果我使用(gdb) maintenance info sections
,它只显示matlab进程的内存空间,而不显示已加载的库。
执行文件:
`/appl/matlab2010a32/bin/glnx86/MATLAB', file type elf32-i386.
0x8048134->0x8048147 at 0x00000134: .interp ALLOC LOAD READONLY DATA HAS_CONTENTS
0x8048148->0x8048168 at 0x00000148: .note.ABI-tag ALLOC LOAD READONLY DATA HAS_CONTENTS
...
0x0000->0x00c4 at 0x00001fa0: .comment READONLY HAS_CONTENTS
0x0000->0x0010 at 0x00002064: .gnu_debuglink READONLY HAS_CONTENTS
我需要这个的原因是因为即使变量是const我在代码中的其他地方mprotect()
改变了cont变量的内存权限。