静的変数はどこに保存されていますか (データセグメントまたはヒープまたは BSS)と少し似ています。、しかし、同じものではありません。
ここで、0x10fb90 のような他のプロセスの変数のアドレスを取得します。この変数はどこに保存されていますか (データ セグメント、ヒープ、または BSS)、プロセスの pid と変数のアドレスだけから場所を取得できますか?
obj-c と c を使用して osx に取り組んでいます。
静的変数はどこに保存されていますか (データセグメントまたはヒープまたは BSS)と少し似ています。、しかし、同じものではありません。
ここで、0x10fb90 のような他のプロセスの変数のアドレスを取得します。この変数はどこに保存されていますか (データ セグメント、ヒープ、または BSS)、プロセスの pid と変数のアドレスだけから場所を取得できますか?
obj-c と c を使用して osx に取り組んでいます。
2 つのオプションがあります。
objdump
何かのようなもの
objdump -x a.out | grep YOUR_VARIABLE_ADDRESS
このようなものをgccでコンパイルします
$ gcc -o foo.exe -Wl,-Map,foo.map foo.c
そしていま
$ grep YOUR_VARIABLE_ADDRESS foo.map
これらのメソッドはどちらも、指定したアドレスが存在しない場合、変数の場所を表示します。
PS : に追加したリンクはmap file
、Visual Studio リンカーによって生成されたマップ ファイルの例を示していますが、形式は通常、さまざまなリンカーによって生成されたマップ ファイル形式のほとんどで類似しています。