問題タブ [eip]
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.
spring-integration - 競合する消費者
スプリング統合アプリケーションを構成して、それぞれが1つのメッセージで表される多数のタスクをチャネルに配置すると、エンドポイントのグループの1つが次のタスクを選択して処理するようにします。これには、スレッドプールエグゼキュータサービスが必要になると思います。
apache-camel - 動的Apacheキャメルルート/コンテキストに関する設計の質問
システムで発生するイベントが公開されるActiveMQがあります。このプロジェクトでは、ユーザーが監視リストにエンティティを追加します。これらのエンティティでイベントが発生するたびに、関心のある参加者にメールを送信したいと思います。
ユースケースは、大まかに言って、カタログの製品情報ページに関心を示し、その製品で何らかのアクティビティが発生するたびに電子メールが送信されることを意味します(価格が下がる、肯定的なレビューがあるなど)。私はこの相互作用をラクダのルートとしてモデル化しました。
したがって、たとえば、この製品の評価が5に等しいときはいつでも、ユーザーが私に電子メールを送信すると言うと、次のルートがラクダのコンテキストに追加されます。
同様に、製品に新しいコメントがあるたびにユーザーに通知したい場合は、別のルートが作成されます。これにより、各ユーザーが関心のある時計を追加し始めると、何千ものルートが作成される可能性があります。
私が持っているいくつかの質問は次のとおりです。
これは動的ルートを作成するための許容可能な方法ですか?私が検討しているオプションの1つは、受信者リストを使用することです。しかし、受信者リストを返すBeanにメッセージをルーティングすることをエレガントにするソリューションを思い付くことができませんでした。たとえば、上記で説明したケースの場合、Beanには、返される受信者リストを確認するためのif-elseがたくさんありますか?
camelcontextには、xmlファイルからルートをロードするメソッドがありますが、既存のルートを永続化するメソッドはありません。これらの動的に作成されたルートを永続化するための最も簡単な(そして効率的な)方法は何でしょうか?camel-usersリストのこのスレッドは、私の要求を要約したものです。
java - CamelJavaDSL-ヘッダー内のENUMでのルーティング-conentベースのルーターまたは動的ルーター
CamelのProducerTemplateを使用して、オブジェクトを生成し、それらをSEDAキューに送信するBeanがあります。
本文とヘッダーを送信します。
ここで、ヘッダー名はsourceSystem
であり、ヘッダーオブジェクト値はENUM(sourceSys
)であり、これには、いくつかの異なる属性を含むオブジェクトのソースが含まれていdocument
ます。
SEDAキューから同時にメッセージをプルし、sourceSys列挙型の値に応じて異なるエンドポイントにメッセージを送信したいと思います。
これを使用するためにラクダで最も効率的なEIPは何ですか?Java DSLを使用した例はありますか?列挙型の値をテストする方法がわかりませんか?
私はこのようなことをすると思っています:
..?
spring-integration - Spring Integration を使用して実行時にポーリング レートを変更しようとする際の問題
チャネル アダプタを次のように定義しました。
次のように、実行時にポーリング レートを変更できないのはなぜでしょうか。
このソリューションをデバッグすると、アダプターにこの新しいトリガーが接続されていることがわかりますが、ポーリング レートは変更されていません (5 秒ごと)。同様の運で、アダプターの停止()および開始()も試みました。
誰でも私が間違っていることを指摘できますか? ありがとう
gdb - レジスタeipが無効ですか?
Linuxターミナルでgdbを使用してacプログラムをデバッグしています。それを分解して実行し、EIPレジスタのメモリアドレスを見つけようとしました。これが起こったことです:
(gdb)ireip無効なレジスタ`eip '
eipレジスタが無効であると表示されるのはなぜですか?
c++ - 同じソースを使用して再構築すると、EXE のオフセットは同じになりますか?
EIP を含むワトソン博士の情報を含むクラッシュ レポートをユーザーから受け取ります。デバッグを開始してから、EIP を設定し、どの行に移動するかを確認します。また、リリース ビルドで Line Info を有効にしています。
ソース管理にラベルがあるので、ビルドに使用したソースを取得できますが、リンカーが同じオフセットで EXE を生成するかどうかはわかりません。そうしないと、EIP は役に立ちません。
c++ - 'bytes at CS:EIP'を使用して、クラッシュが発生した場所を特定します
ワトソン博士の情報を含むエンドユーザーからクラッシュレポートを受け取り、それらを使用してクラッシュが発生した場所(つまり、コードのどの行)を見つけたいと思います。
出荷するexeはデジタル署名されているため、クラッシュレポートのEIPを使用することはできません。これにより、すべてのオフセットが変更されます。ただし、クラッシュ情報には「CS:EIPのバイト数」も含まれています。これは、クラッシュが発生したEIPから始まる最初の16バイトです。次のようになります。
これらの16バイトは、exeファイルで1回だけ発生します。HEXビューアだけを使用してEXEでオフセットを見つけることができますが、デバッグ中にそこにジャンプしてソースにある行を確認するには、EXEがロードされた後のメモリ内のオフセットを知る必要があります。
ロード後にプログラムのコードセグメントをスキャンする最良の方法は何ですか?EXEのベースオフセットがどこにあるかを見つけるコードを追加し、それを循環して、memcmpを使用してバイトパターンが発生する場所を見つけることはできますか?
また、EXEのベースオフセットがどこにあるかをどのように見つけることができますか?
c# - C# スタック オーバーフロー EIP の上書き
c# でのスタック オーバーフロー (原因) をよりよく理解するために、また教育目的で、脆弱なプログラムを作成したいと考えています。基本的に、EIP を上書きするスタック オーバーフローが「ただ」必要なので、それを制御して自分のコードを指すことができます。私の問題は次のとおりです。スタックをメモリの場所として使用するのはどのオブジェクトですか? 例: プログラムは、改行が見つかるまで再帰的なバイト単位の読み取りでテキスト ファイルを解析します (ええ、誰もこれをしないと思いますが、これは学習のためだけなので...)。現在、テキスト ファイルに chars の 16 進値を含む文字列を追加しています。この文字列は、main() の呼び出し後にインスタンス化されるオブジェクトのフィールドです。WinDbg を使用して、スタックが (ほぼ) 無限の再帰からオーバーフローした後にこれらの値を取得しました。
ところで、私は Win7x86 AMD マシンを使用しています。strcpy を使用してスタック オーバーフローを引き起こす多くの C++ の例を見てきましたが、C# に同様の方法はありますか?
よろしく、 NoMad
編集: このコードを使用して、スタック オーバーフローを引き起こします。
スタックをオーバーフローさせ、eip に行文字列 (つまり、test.txt の内容) を書き込むことは可能ですか?
java - CamelのSEDAキューに失敗したメッセージを保持する
デッドレターチャネルエンドポイントとしてsedaキューを使用しています。ネットワークがダウンしている場合や他のアプリケーションがダウンしている場合は正常に動作します。
自分のシステムを再起動するとどうなりますか?
デッドレターチャネルエンドポイントSEDAキューのメッセージを失いますか?
apache-camel - キャメル交換インアウトは、交換で例外を維持していません
INOUT交換パターンのないラクダルートを作成しました。ルートは次のようになります。
ProducerTemplateのsendメソッドを使用してペイロードを送信しています
Beanのhandleメソッドで交換時に例外を設定しましたが、応答に保持されません。
足りないものはありますか?