- PR -

プログラム領域の先頭アドレスを取得する方法

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/01/13
投稿数: 12
投稿日時: 2008-05-16 06:48
どうしたらいいですか?
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2008-05-16 10:40
こんにちは。

引用:

未記入さんの書き込み (2008-05-16 06:48) より:
どうしたらいいですか?



「プログラム領域」と言う言葉をネットで検索すると
だいたい「(機械語の)プログラムコードが置かれている領域」を指すようですね。

実行ファイルフォーマット(PE,COFF,ELF...)の
「.textセクション(コードセクション)」を調べるとよいと思います。


えっと…Javaですか!?
Windows環境であるなら、dumpbinというツールを使うとよいかもしれません。

>dumpbin /ALL C:\\Program Files\\Java\\jdk1.5.0_07\\bin\\java.exe

出力
----------------------------
(省略)

SECTION HEADER #1
.text name
5A30 virtual size
1000 virtual address
6000 size of raw data
1000 file pointer to raw data
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
60000020 flags
Code
Execute Read

RAW DATA #1
00401000: 55 8B EC 81 EC 38 02 00 00 53 56 57 8B 3D B8 70 U....8...SVW.=クp

(省略)

00406A20: FF 25 A8 70 40 00 FF 25 AC 70 40 00 CC CC CC CC .%ィp@..%ャp@.フフフフ

----------------------------

mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2008-05-16 12:44
http://www.javaroad.jp/bbs/answer.jsp?q_id=20080515172908241

こんなところにも。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2008-05-16 12:47
JavaはVM上で実行されるということを理解した上で質問を見直してください。
VM上で実行されるバイトコードに対し先頭アドレスという概念はナンセンスでしょう?
ひろ@ya
大ベテラン
会議室デビュー日: 2006/02/23
投稿数: 168
投稿日時: 2008-05-16 15:59
で、そのアドレスを参照して何がしたいわけ?
1

スキルアップ/キャリアアップ(JOB@IT)