問題タブ [jasmin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
219 参照

android - デデクサーを使用してこの逆アセンブル行を解釈する方法は?

以下は、Android マーケット アプリでdedexerinvoke-virtualを使用して逆アセンブルされたスニップコードです。元の Java コードが何であるかわかりません。

invoke-virtual {v0},[Lcom/google/android/providers/AbstractGDataSyncAdapter$ClientDiffType;/clone ; clone()Ljava/lang/Object;

[配列であるはずですがclone、タイプの配列の要素でメソッドを呼び出していcom/google/android/providers/AbstractGDataSyncAdapter$ClientDiffTypeますか? では、なぜ;クラス名とメソッド名の間にあるのcloneでしょうか? デクサー自体のバグ?

0 投票する
0 に答える
141 参照

jasmin - ジャスミンでハッシュマップを作成するには?

Jasmin のクラス内に HashMap を作成したいのですが、同等の Java は次のようになります。

何か関係がある

どんな助けでもいただければ幸いです

0 投票する
1 に答える
142 参照

jvm - FPC / Javaエラー:「JASエラー:10039行からの参照がサイズを超えています。」

私は、JVMバックエンドを備えたFreePascalを使用してDelphiコードの一部をコンパイルしています。

Free PascalをJVMバックエンドに移植することに関与している誰かがこれを読んでいるという偶然の機会に、私が受け取っているコンパイルエラーメッセージは次のとおりです。

ファイルはかなり大きく(> 6000行)、その中の関数もそうです。そのため、リソースが使い果たされている可能性があります。これを取り除くために単純化するために正確に何をすべきかについて私にヒントを与えることができますか?

0 投票する
1 に答える
594 参照

java - Dalvikへの変換に失敗しました-初期化されていない変数がどこかにあります

AndroidアプリをFreePascalでコンパイルされたJARにリンクしようとしています。次のビルドエラーが発生します:

エラーは、ある時点で、コードが初期化されていないローカル0009を読み取ろうとしたことのようです。

現在、Pascalはローカル変数の初期化を強制しません。おそらく、初期化はそもそも省略されていました。FreePascalが生成したJVMアセンブリファイルを保持しました。それらはJasminでクラスファイルにアセンブルされます。ファイルは巨大です-私はそれをここに貼り付けていません。

誰かがエラーのポイントをソースまでさかのぼるのを手伝ってくれませんか?エラーはバイトコードオフセット00015f2cにあります。それをアセンブリファイルの行番号に戻す方法はありますか?

0 投票する
2 に答える
732 参照

android - Dalvik バイトコードの「スロー」と「例外の注釈」

バイトコードが次のように生成される理由

それよりも.throws Ljava/io/FileNotFoundException

throws FileNotFoundExceptionメソッドがJavaコードのヘッダーで宣言されている場合?

0 投票する
2 に答える
950 参照

java - ジャスミンのハッキングとエラーの確認

私はjasminで遊んでいて、単純な文字列連結を実行することになっている.classファイルを起動しようとしています。私のジャスミンソースは次のようになります。

これで、java -jar jasmin.jarを実行できるようになり、default_class.classを取得します。ただし、java default_classのように起動しようとすると、エラーが発生します。

これを機能させるには、アセンブリで何を変更する必要がありますか?

0 投票する
2 に答える
1644 参照

java - 単純なローカルクラスファイルを起動するためのCLASSPATH

次のjasminコードからアセンブルされた.classファイルがローカルディレクトリにあります。

java -jar jasmin.jar test.jを実行すると、すべてがコンパイルされ、.classファイルが取得されますが、次のエラーが発生するため、javadefault_classで開始できません。

私のJAVA_HOMEは次のとおりです。

クラスパスには、現在のディレクトリ(この.classファイルが配置されている場所)のみが含まれます。何か追加する必要がありますか?

編集:クラスを起動するために使用するコマンドはjava default_class

EDIT2:OK、ついに私は何が悪かったのか理解しました!クラスの名前は大文字で始める必要があります!これで私の問題は解決しました!とにかく、私を助けようとした皆さんに感謝します!

0 投票する
2 に答える
940 参照

jvm - JVM、定数プール、ヒープ、およびアドレス

Jasmin アセンブリで新しいアイテムを作成して保存する場合、アドレスであるため、命令をロードして実行します。

ここで、定数プールから文字列を保存したい場合... ldc で​​作成し、aload で保存します。

さて...これらのアドレスは同じ形式で同じバイト数ですか? これらのアイテムのロードと格納に同じ命令を使用するため、JVM は、定数プールに属するアドレスとヒープ内のアドレスを区別できなければなりませんか?

バイトコードを調べると、私の場合、定数プール内の実際のアドレスは 1 バイトのインデックスにすぎないようです (定数プールへの主な参照もどこかに保持されていると思います)...今、それが定数プール内のsom UTF8データへの参照ですが、それは実際の文字列がある場所ですか、それとも別の場所のバイト配列への参照ですか? ヒープ内の「新しいオブジェクト」のアドレスを検査することはできませんでした.....基本的に、これら2つのメモリ領域が同じ形式の命令を使用する方法と、JVMがどのように管理するかを理解する必要がありますアドレスが定数プールのオフセットなのか、ヒープ内のオブジェクトなのかを判断しますか?