後の計算で使用する数値の符号を決定しようとしています。
次のようなコードがあります。
double value = someClass.someGetterMethod();
double sign = value / Math.abs(value);
私も試しました:
double sign = (value < 0) ? -1d : 1d;
常にではありませんが、値が正で符号が負の場合もあります。
両方の変数は非静的メソッドのローカル スタック上にあるため、競合状態があるとは思いません。
残念ながら、完全なソースを公開することはできず、これを小さな例で再現することもできませんでした。私の環境がそれと関係があると思います:
問題のコードは jar にパッケージ化され、zipgroupfileset としてプラグイン jar ファイルにロードされます。これは netLogo によって「拡張機能」(プラグイン) としてロードされます。そのため、NetLogo が起動され、このコードを含むクラスを含むプラグイン jar がロードされます。
NetLogo では、すべてのプラグインを 1.5 ターゲット用にコンパイルする必要があるため、ant ビルド ファイルの lib と拡張機能の両方にそれを設定しています。
リモートデバッグを許可するように netlogo vmargs を変更して、netbeans デバッガーを接続します
-Xdebug
-Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
私は本当に困惑しています。これは、デバッガーが変数を表示する方法に問題がありますか? NetLogo の 1.5 コンパイル ターゲット要件に問題があるのでしょうか?
何か案は?
ありがとうございました