問題タブ [debug-build]
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.
release-builds - デバッグ ビルドとリリース ビルドでのライブラリの管理と使用
あなたが書いたアプリケーションのライブラリを使用または配布することに関して、私は皆の慣行に興味があります。
まず、アプリケーションを開発するとき、ライブラリのデバッグ バージョンまたはリリース バージョンをリンクしますか? (アプリケーションをデバッグモードで実行する場合)
次に、デプロイの直前にアプリをリリース モードで実行する場合、ライブラリのどのビルドを使用しますか?
ライブラリのデバッグ バージョンとリリース バージョンを切り替えるにはどうすればよいですか? 手動で行いますか、マクロを使用しますか、それとも他に何をしますか?
c++ - STL 代替
STL コンテナーを使用すると、コードのデバッグ バージョンの実行が非常に遅くなるため、STL コンテナーを使用するのは本当に嫌いです。デバッグ ビルドで妥当なパフォーマンスを発揮する STL の代わりに、他の人は何を使用していますか?
私はゲーム プログラマーですが、これは私が取り組んできた多くのプロジェクトで問題になっています。すべてに STL コンテナーを使用すると、60 fps を取得するのはかなり困難です。
私はほとんどの作業で MSVC を使用しています。
visual-studio - 非開発マシンで vc2008 デバッグ ビルドを実行する
vc2008 でアプリを構築し、マシンのネットワーク上でテストしています。
Visual Studio 2008 をインストールする以外に、別のマシンで C++ プログラムのデバッグ ビルドを実行する方法はありますか? (つまり、vc2008 がインストールされていない)
redist パッケージをインストールすると、vc2008 プログラム用のリリース モード サポート DLL のみがインストールされます。現在、「このアプリケーションは、アプリケーションの構成が正しくないため、開始できませんでした。アプリケーションを再インストールすると、この問題が解決する可能性があります。」と不平を言います。
c# - C#-.netでのデバッグビルドの必要性は本当にありますか
リリースバージョンで.pdbファイルが生成され、すべての行にステップインしたり、ブレークポイントを設定したりできる場合は、なぜわざわざコンポーネントの「デバッグ」バージョンを作成する必要があるのでしょうか。
プロジェクトにc#を使用していますが、リリースバージョンのデバッグに問題はありませんでした。C ++では、最適化されたコードのデバッグに問題がありましたが、C#では正常に動作します。私はif(false)
...のようなばかげたコードブロックについて話しているのではありません。
visual-c++ - VC++ 6.0 でデバッグ/リリース ライブラリを自動的にリンクするにはどうすればよいですか?
VC++ 6.0 で 5 年前に書かれたプログラムを維持しようとしています。「共通」ライブラリを使用します。私が抱えている問題は、[ライブラリ ファイル] の [ディレクトリ] を [ で "common/debug" または "common/release" に設定しているかどうかに応じて、これらのライブラリのデバッグ バージョンまたはリリース バージョンのいずれかにリンクすることです。ツール]->[オプション]。
デバッグ バージョンをビルドするときに [common\debug\common.lib] にリンクし、リリース バージョンをビルドするときに [common\release\common.lib] にリンクするにはどうすればよいですか? ライブラリディレクトリに両方のパスがある場合、最初に見つかったパスにリンクしているようです。
c# - ClickOnceを使用してデバッグビルドを展開しないようにする
ClickOnceアプリケーションをVS2008で公開していますが、公開する前に、手動でリリース構成に切り替える必要があります。切り替えるのを忘れない限り、これで問題ありません。デバッグビルドのデプロイを防ぐ方法はありますか?次のようなコンパイラ指令はありますか?
または、公開する前にリリース構成に自動的に切り替える方法(ビルドスクリプトなし)はありますか?
(私はいくつかの同様の質問を見つけましたが、それらの答えが好きではありませんでした)
ありがとう
c++ - 逆特異なバグ-デバッガーが接続されている場合にのみ単体テストが失敗する
最近、製品の欠陥を修正しました。その症状は、ダングリングポインターへのアクセスによって引き起こされたアクセス違反でした。
良い習慣として、バグが再発しないことを確認するために単体テストを追加しました。単体テストを作成するときは、常に欠陥修正を取り消して、単体テストが失敗することを確認します。そうしないと、単体テストが適切に機能していないことがわかります。
欠陥修正を取り消した後、ユニットテストがまだ合格していることを発見しました(良くありません)。デバッガーを単体テストに接続して合格した理由を確認すると、テストが失敗し(つまり、例外がスローされ)、コールスタックが壊れて、修正した元の欠陥のスタックと一致することがわかりました。
Visual Studio 2005の[例外の中断]設定を変更しませんでした。これは実際に重大なWin32例外であり、テストハーネスが終了します(つまり、正常な例外ハンドラーがありません)。
例外のテキストは次のとおりです。
注:場所は常にではありません0xcdcdcdcd
(割り当てられていますが、書き込まれていないWin32ヒープメモリ)。ある場合もあれ0x00000000
ば、別のアドレスである場合もあります。
これは、デバッガーを介して問題を観察すると問題が解消される、従来のHeisenbugの逆のように見えます。私の場合、デバッガーでそれを観察すると問題が発生します!
私の最初の考えは、これはデバッガーのタイミングの違いによって明らかになった競合状態であるということでした。ただし、コードにトレースを追加してデバッガーとは別に実行した場合、出力するデータは、デバッガーで実行する場合と同様の方法でアプリケーションを中止する必要があることを示しています。そうではありません!
これを引き起こしている可能性があるものについての提案はありますか?
更新: 私はこの問題の原因を絞り込んでいます。詳細については、この質問を参照してください。私がそれを見つけたら、答えでこの質問を更新します。
ipad - アプリを iPad にデプロイするときの奇妙なコンソール メッセージ
昨日、私のアプリは問題なく iPad にデプロイ (デバッグ ビルド) されていました。しかし、今日、私は iOS 4.2.1 (つまり、現在のもの) にアップグレードしました。今では、コンソールに多くのナンセンスを吐き出し、最終的にアプリを実行する前に不確定な時間 (時には数分以上) ハングします。デバイス。
誰でもこの行動に光を当てることができますか? どうすればそれを取り除くことができますか?
PSは最後の行を見てください:
一体何が起こっているのですか?私は自分のアプリでも、私の人生のどこでも、日本語とは何の関係もありません。私のハードドライブには素晴らしいジブリ映画がいくつかありますが、それだけです。
c++ - VS2008 64ビットデバッグビルドを実行すると、「アプリケーション構成が正しくありません」および「サイドバイサイド構成が正しくありません」
私は、64ビットアドオンを備えた64ビットOS Windows 7究極のマシンVS2008で作業しています。
32 ビットと 64 ビット、デバッグおよびリリース構成の両方でプロジェクトを正常にビルドできました。64 ビット デバッグが起動しません。エラーが発生します:
プログラム xxx を開始できません アプリケーションの構成が正しくないため、このアプリケーションを開始できませんでした。マニフェスト ファイルでエラーの可能性を確認します。アプリケーションを再インストールすると、この問題が解決する場合があります。その他の小売店については、アプリケーション イベント ログを参照してください。
依存関係ウォーカーを実行しました。再配布可能なパス C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\amd64\Microsoft.VC90.DebugCRT から Microsoft.VC90.DebugCRT.manifest msvcm90d msvcp90d msvcr90d Microsoft.VC90.DebugOpenMP vcomp90d を追加しました。私のソリューションの bin\debug フォルダーに sll があります。
最後に、依存関係ウォーカーには黄色のマーク (ファイルの欠落) が残っていませんでしたが、それでも次のようなエラーが発生しました。
エラー: 必要な暗黙的または転送された依存関係が少なくとも 1 つ見つかりませんでした。エラー: 暗黙的に依存するモジュールにエクスポート関数がないため、少なくとも 1 つのモジュールに未解決のインポートがあります。エラー: CPU タイプが異なるモジュールが見つかりました。エラー: "e:\xyz.EXE" の Side-by-Side 構成情報にエラーが含まれています。サイド バイ サイド構成が正しくないため、アプリケーションを開始できませんでした。詳細については、アプリケーション イベント ログを参照するか、コマンド ライン sxstrace.exe ツールを使用してください (14001)。
32 ビット マニフェストには次のように記載されています。
一方、64 ビットのデバッグ マニフェストには次のものがあります。
私が理解できないのは、デバッグ 32 ビット ビルドが正常に実行されるのはなぜですか?
すでに多くの質問を確認しましたが、実行可能な解決策が見つからないので、助けてください。
cmake - デバッグ用のCmakeフラグはvalgrindでは役に立たないようですか?
さて、デバッグしようとしているこのQtアプリケーションがあります。その上でvalgrindを実行し、出力をファイルにリダイレクトすると、次のような「完全に失われた」ブロックが多数表示され、悲しくなります。
私はvalgrindがあまり得意ではありませんが、私が知る限り、このトレースは私のソースファイルに戻りませんよね?実際、完全なvalgrindレポート(-vスイッチを使用)のどこにも、QApplicationを宣言するmain()を除いて、ソースファイルは表示されません。
次に、CMakeを使用してプロジェクトを正しくコンパイルしていないと想定できますか?うまくいけば、それが問題です。valgrindレポートは今のところあまり役に立たないようです。
次に、CmakeLists.txtで、次のようなデバッグフラグを使用してプロジェクトをコンパイルしようとしています。
これはこれを行うための適切な方法ですか?
私はここで何か間違ったことをしていますか?
ありがとう、そしてそのような長い質問をお詫びします!:/