問題タブ [release-mode]
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.
c++ - Visual C++ 2008 リリース ビルドでフロートが壊れる
良い一日、
Microsoft Visual C++ 2008 Express Edition を使用して、プロジェクトをリリース モードでビルドしました。ただし、ここにある浮動小数点値の一部は、デバッグ構成のものとは異なります。なんらかの理由で、特定の機能についてはすべて NaN またはゼロであることが判明しています。なぜこれが起こっているのかわかりません。リリースモードでビルドするのはこれが初めてです。助けていただければ幸いです。
試行された手順:
浮動小数点コマンド ライン オプション。
コードをステップ実行すると、いくつかの理由でこれが機能しませんでした。
コードを見つめる時間 読んでくれてありがとう!
これが不正なコードです(注:過去にこの特定の機能でNaNに問題がありましたが、これは奇妙です):
ヘッダ:
コンテキスト:
次のファイルで問題が確認されました。
ヘッダ:
c++ - C++ 未定義の動作により、デバッグ ビルドとリリース ビルドの動作が異なる可能性がありますか?
この質問には、バグがリリース ビルドでのみ現れる理由を説明する多くの優れた回答があります。
リリース バージョンのバグがデバッグ モードに存在しない一般的な理由
未定義の動作に関して、より具体的な質問があります。
プログラムがデバッグ ビルドでは常に正しく動作しているように見えても、リリース ビルドでは動作が異なる (ただし、常に同じように正しく動作しない) 場合、問題は未定義の動作が原因である可能性がありますか?
visual-studio-2010 - Visual Studioは、リリースモードでさまざまな動作に最適化されます
VisualStudio2010で開発されたC++アプリケーションがあります。シリアルハードウェアを介して受信したメッセージをデコードするために呼び出される静的メソッドがあります。
「リリース」構成を使用すると、コンパイラーがなんらかの方法でメソッドを最適化し、メソッドが期待どおりに機能しません。「デバッグ」構成を使用すると、すべてが正常になります。
方法は次のとおりです。
リリース構成のいくつかの最適化(私は/ O2を使用)が原因で、i変数が混乱していると思います。
arrays - Visual Studio のデバッガーで「配列の安全性」を無効にすることはできますか?
私が言及しているのは、デバッグモードでは配列のオーバーフローを回避できる場合がありますが、リリースモードではクラッシュし、どの配列が問題を引き起こしているのかわからないという事実です (私のコードは本当に大きいです) . 余分なパディングを無効にして、デバッグ モードでもクラッシュが発生するようにして、コール スタックでどの関数が原因であるかを確認できますか?
c++ - RELEASE 構成で vector push_back を使用すると C++ コードがクラッシュする
Visual Studio 2008 によるリリース構成でソリューションをビルドするときに、c++ ベクトルの使用に問題があります。コードはデバッグ構成で正常に動作します。オンラインで検索しましたが、私が抱えている問題を解決する解決策が見つかりませんでした。
これが私のコードの説明です。以下のようにクラスを定義しました。このクラスは、空間内の位置などを含む平面のいくつかのパラメーターを格納します。
12 の異なる PlaneConfig を構成する機能があります。
各 PlaneConfig は、関数 PlaneConfigInit で次のように初期化されます。簡単にするために、PLANE01 の初期化だけを行いました。
上記のコードを 2 番目のプレーンに正確に使用し、これを 12 個のプレーン (PLANE01、PLANE02、...、PLANE12) すべてが関数 PlaneConfigInit 内で初期化されるまで続けます。これはデバッグでは完全に機能しますが、リリースでは機能しません。PLANE01 の初期化はクラッシュせずに行われますが、PLANE02 になると、push_back() 関数を使用したクラスの update() 関数でクラッシュします。
私の問題をうまく説明できたと思います。さらに情報が必要な場合はお知らせください。
どんな助けにも感謝します。
アフマド
c++ - リリース/デバッグ モードでの Haar カスケードの異なる結果
MITの車のデータセットからトレーニングされたHaarカスケード分類器を使用して、OpenCVで車両を検出しています(OpenCVで提供されるユーティリティを使用してトレーニングされています)。これは、デバッグ モードでコンパイルするとかなりうまく機能しますが、リリース モードでコンパイルすると、カスケードはまったく検出しません。以下のテスト イメージで次のコードを実行すると、デバッグ モードでは検出されますが、リリース モードでは何も検出されません (この動作は、データ シーケンス内のすべてのイメージで継続します)。
これが発生する理由と、さらに重要なこととして、リリース モードで実行しているときに検出を取得するためにできることを教えてください。
コード
テストイメージ
objective-c - デバッグ モードではなくリリース モードで CLLocationManager がエラー EXC_BAD_ACCESS でクラッシュした
ロケーション ウィンドウがポップアップすると、ゲームが常にクラッシュします。
クラッシュするたびに、エラーEXC_BAD_ACCESSでメインに戻ります。ただし、問題を特定するためのスタック トレースを受け取りません。ゾンビもスタック トレースを提供しません。
興味深いことに、このクラッシュはリリース モードの iOS シミュレータでのみ発生します。デバッグモードに変更すると、完全に機能します。リリース モードのデバイスで実行すると、完全に動作します。[locationManager startUpdatingLocation] をコメントアウトすると、完全に機能します。
どうすればこれを解決できますか?
visual-c++ - 大量に割り当てられた 1 次元配列のサブ配列へのポインターを作成し、VC++ ビルドをリリースする
これは私の最初の投稿です。間違いがないことを願っています。次のコードがあります。2 次元配列を 1 ショットで、さらに重要なことに 1 バイト配列で割り当ててアクセスしようとしています。また、コードに示されているように、各サブ配列に個別にアクセスできる必要もあります。デバッグモードでは正常に動作します。ただし、VS 2012 のリリース ビルドでは、コンパイラの最適化が適用されると、実行時にいくつかの問題が発生します。リリース コンパイラの最適化を無効にすると、機能します。コンパイラに通知するために、ある種の特別なキャストを行う必要がありますか?
コードでの私の優先事項は、完全な配列の高速な割り当てとネットワーク通信であり、同時にそのサブ配列を操作することです。
私はブーストを使用しないことを好みます。
どうもありがとう :)