問題タブ [bcel]

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 に答える
416 参照

java - すべてのランタイム変数アクセスの Java トレース

任意の変数またはオブジェクトへのすべての実行時アクセスをログに記録する必要がある 現在の方向性は、変更されたバイトコードでクラスファイルをマークアップすることです パフォーマンスは現在問題ではありません

BCEL は、バイトコード内の関連する各オペコードにいくつかのトレース命令を追加するのに適しています。

ただし、ソース ファイルからセマンティック情報を追加したいと思います。たとえば、この変数は for ループ カウンターです。これには、AST / 構文解析ツリーの操作が必要になります。

では、ASM / JavaAssist はより良い選択ですか ???

変数の使用状況をログに記録することが重要な要件であるため、バイトコードはこれを処理するのに適切なレベルに見えます。しかし、最終的にはソース解析ツリーにアクセスして、より多くのセマンティック情報を取得する必要があります

何かご意見は ?

psこれは大規模な長期プロジェクトになります

0 投票する
3 に答える
955 参照

java - BCEL を使用して Java クラスにコメントを追加できますか?

1.BCEL を使用して、既存の Java クラスにコメントを追加できますか? 2. BCEL を使用して、新しく手動で生成した Java クラスにコメントを追加できますか?

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

java - JAVA BCEL NEWARRAY getType 基本タイプ

BCELでこれを確認するにはどうすればよいですか..

Javaのバイトコードは

私はこれをすでに訪問者のために行っています

しかし、newarray がint[]

BCELでこれを確認するにはどうすればよいですか?

私はこれを試しました

よく

しかし、上記の ^ は機能しないことがわかりますint..しかしint[]

しかしType.INT、ただint..ではないint[]..

Type をどのように表現しint[]ますか?

私はBCELソースコードを読んでいて、NEWARRAY.getType()はこれを返します..

ご覧のとおり、クラスを返すTypeので.. http://commons.apache.org/bcel/apidocs/org/apache/bcel/generic/Type.htmlを見てください

http://commons.apache.org/bcel/apidocs/org/apache/bcel/generic/ArrayType.html

TypeARRAYには何もありませんint[]

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

java - ClassParserコンストラクターパラメーターを指定する方法は?

ClassParserを使用してメソッドパラメーター名を取得しようとしています。ClassParserコンストラクターは、パラメーターとしてクラス名を取得します。例:

パラメータをStringクラスに設定しようとしています。「String.class」を使用しようとしましたが、機能しません。「java.lang.String.class」も使用しましたが、動作しません。最後に、this.getClass()。getResource( "java / lang / String")。toString()を試しましたが、これも機能しません。どうすればこれを解決できますか?

ありがとう

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

java - Apache BCELを使用してクラスコンストラクタパラメータを取得するにはどうすればよいですか?

BCELを使用してメソッドを取得することはできますが、同じライブラリを使用してクラスのコンストラクターを取得することは可能ですか?

0 投票する
3 に答える
3597 参照

java - JavaAndroidでクラスを動的に編集/作成する

実行時にクラスを動的に定義し、Androidでインスタンス化する方法を探しています。私の理解では、これはすでにAndroidで行われているので、それを理解するのに少し助けが必要です。

JavascriptとPHPで同様の結果を得ることができます。ASM、BCEL、CGlibなどを使用してJavaで実行できることはわかっています。ただし、Androidで動作するかどうかを理解するには、これらのいずれについても十分に理解していません。または、それらが機能する中で、どのような影響がありますか?

仮に、3つすべてがAndroidで機能する場合、どちらを使用するか、どのように使用するかを理解し始める場所について、誰かが私に正しい方向を示すことができますか?

私はJavaプログラミングをあまり行っていません。また、AndroidでJavaプログラミングを使用しているのはつい最近のことです。そのため、入手できるすべてのヘルプ/修正に感謝しています。そうは言っても、あなたの答えが単純ではない場合、私は感謝します:これをしないでください。私はこれを正しく行う方法ではなく、具体的に行う方法を探しています。少なくとも、私のアプリがクラッシュするまでは。:)

これは、Androidで次の状況ですでに発生していると思います:( 100%確実ではありません)

JSONからオブジェクトを作成します。AIDL

0 投票する
3 に答える
643 参照

java - ローカル変数がJavaバイトコードから「final」であるかどうかをどのように判断できますか?(BCELに関連)

ローカル変数がJavaバイトコードに「final」で格納されているかどうかなどの情報はどこにありますか?フィールド(グローバル変数)とメソッドの場合、これらはアクセスフラグビットにありますが、ローカル変数テーブルに同等のものが見つからないようです。

BCELを使用してローカル変数がfinalであるかどうかを確認し、AccessFlagsクラスのフィールド、メソッド、およびクラスに相当するものを見つけたので、この質問に興味があります。

前もって感謝します。

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

java - BCEL - return ステートメントのデバッグ

既存の *.class ファイルを変更したい。メソッドが終了してその値を返すときに、デバッグ メッセージ「Got result: %return value%」を表示したいと考えています。BCELを使用してこれを達成するにはどうすればよいですか?

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

java - BCEL による変更が表示されない

BCEL を使用して Test クラスのメイン メソッドを変更しようとしています。System.out.println("This is added by BCEL at runtime") main() の先頭に追加したいだけです。例外は発生せず、InstructionList にはコマンドが表示されますが、文字列は出力されず、javap -c変更されていないバージョンが表示されます。これが私のコードです:

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

java - Java委任呼び出しBCEL/ASM

SOFの皆さん、こんにちは!

私が探しているものは? 私はWebを検索して検索してきましたが、クラス(もちろんコンパイル済み)にインターフェイスを実装/注入し、クラスのインターフェイスによって必要なメソッドを追加するにはどうすればよいですか?私もできる限りBCELとASMを学ぼうとしていますが、リソースが不足しているので(親愛なる友人のGoogleでも)、ここで助けが得られることを願っています。私はあなたが私や何かをスプーンで与えることを期待していませんが、私はいくつかの指示が必要です!:) ASMサイトにそのすばらしい本があり、それらに関するすべてのチュートリアルがたくさんあることは知っていますが、前に述べたように、どうすればそのインターフェイス/メソッドを追加できるのか理解できません。 私は何を試しましたか?私はここ でこのリンクを見つけましたしかし、それは私が期待したようにうまくいきませんでした..私は自分が何をしたいのかを正確に知っていますが、どうすればそれを達成できるのかわかりません..ここに例があります!

そのメソッドの実装は次のとおりです。

親愛なるSOFメンバー、これはどのように機能しますか?