0

私の Loadrunner プログラムでは、ハンドルの値を変更する vuser_init に初期化ブロックがあります。

static int handle =0;
Init(&handle);

この場合、ハンドルへのポインターは Init 関数によって変更されます。変更されたハンドルは、Action ブロック内のパラメーターとして他の関数によって使用されます。問題は、handle の静的値が最初のスレッドでは機能するが、他のスレッドはすべて同じ静的値を読み取るため機能しないことです。必要なのは、スレッドごとのハンドルの静的な値です。これにより、スレッドの各反復中に呼び出される Action ブロックが独自のハンドルを取得できるようになります。ハンドルをリスト、マップ、または Loadrunner によって認識される C の構造に保存する方法はありますか?

4

1 に答える 1

0

必要な C 構造体を構築して使用するだけです。LoadRunner は、LCC コンパイラの ANSI C です。

リンクされたリストと、追加および削除関数をグローバルにして、ハンドルをそのように管理することができます。C. 月を撃って実装するだけです。

スレッドごとのハンドルの値が何を意味するのかわかりませんか? 仮想ユーザーごとということですか?Web 仮想ユーザーは複数のスレッドを持つことができるため、お尋ねします。

仮想ユーザーごとに個別の動的セッション情報を取得したい場合、これは一般的であり、標準のロードランナー関数を使用して情報を取得できます。この情報は、C 関数に渡すことも、C 変数に確実に保存することもできます。

単一の仮想ユーザー内の各スレッドに個別のものを関連付けようとしている場合、LoadRunner 拡張機能を使用して Visual Studio でビルドされた C/C++ の DLL 仮想へのパス上にある可能性があります (VUGEN マニュアルの高度なトピックを参照してください。 Visual Studio で仮想ユーザーを構築する)

于 2013-07-23T22:51:32.610 に答える