Cでマクロをデバッグするときに問題があります。ブレークポイントを設定しようとすると、「ブレークポイントにヒットしません。 "面白いのは、このマクロではなく、ファイル内のすべてのものをデバッグできることです。私はすべてのシンボルファイルを正しく読み込み、クリーニングして再構築し、最適化を無効にしました。このマクロのデバッグがうまくいかない理由は何ですか?ここでは、(あなたがブレークポイントを設定しようとしている定義、呼び出しなどを確認するために役に立つかもしれません)十分なコンテキストを知らないVisual Studioでマクロをデバッグする際に問題が発生しました
2
A
答えて
3
は、いくつかの推測です:
あなたはマクロ定義にブレークポイントを設定していますまたはそれはどこに呼ばれますか? 定義にそれを設定すると、それはまさにあなたが見るエラーです。 定義はプリプロセッサに、コード内の別の場所で置換を行うように指示しているので、コードがコンパイラに到達するまでに#defineの行が空行に置き換えられました。
ブレークポイントが使用されている場所に正しく設定している場合は、あなたが考えているマクロの定義を使用していて、マクロが条件付きでコンパイルされてコードが生成されていないことを確認してください。 これは、デバッグ出力などのいくつかのものを無効にする一般的な方法であり、それを呼び出す行に実行可能なコードを与えません(周囲に他の実行可能コードがない限り)。 これをチェックする1つの方法は、マクロ定義のすぐ隣に#error行を置くことです。もしそれが使用されていれば、コンパイラはエラーを吐き出します。
マクロ機能は単なるテキスト置換であり、呼び出すことで呼び出しの各行(各呼び出しごと)にすべてのコードを配置することに注意してください。実際にはデバッグすることはできません(ステッピング'multiline'マクロ関数に変換する)、前と後の状態を比較するだけで足りることができます。これは、複雑なマクロ機能が悪い考えである主な理由の1つです。
関連する問題
- 1. Visual Studio 2008のインストールで問題が発生しました
- 2. designer.csがVisual Studioでユーザーコントロールを使用する際に問題が発生する
- 3. arrayListをクリアする際に問題が発生しました
- 4. facebookにログインする際に問題が発生しました
- 5. エラーが発生した時点でデバッグが中断します(Visual Studio)
- 6. JschでJavaコマンドを発行する際に問題が発生しました
- 7. emacsのデバッグで問題が発生しました
- 8. アプリケーションでurlbuilder.Buildurlを呼び出す際に問題が発生しました。
- 9. ajaxリクエストでエラーコールを実行する際に問題が発生しました
- 10. Android 2.2でSQLiteデータベースをコピーする際に問題が発生しました
- 11. Meteor.jsでStripeを使用する際に問題が発生しました
- 12. VMware上でApacheを設定する際に問題が発生しました
- 13. C#でDataRowを更新する際に問題が発生しました
- 14. コードブロックでブーストを設定する際に問題が発生しました
- 15. Safariでスクリプトを実行する際に問題が発生しました
- 16. PhantomJSでダイナミックWebコンテンツをダウンロードする際に問題が発生しました
- 17. jQueryでhtmlを追加する際に問題が発生しました
- 18. aspxページでJavaScriptを実装する際に問題が発生しました。
- 19. C#Visual Studioで作業しているときにmysqlストアドプロシージャに問題が発生しました
- 20. RegexKitをXcode 4プロジェクトにインポートする際に問題が発生しました
- 21. ubuntuにtopojsonをインストールする際に問題が発生しました
- 22. サブディレクトリにクリーンURLを適用する際に問題が発生しました
- 23. xhtmlをページにレンダリングする際に問題が発生しました
- 24. データベースにデータを挿入する際に問題が発生しました
- 25. レールアプリケーションで選択タグ値を渡す際に問題が発生しました。
- 26. Eclipseからダービーをインストールする際に問題が発生しました
- 27. シンプルなアプリを実行する際に問題が発生しました。
- 28. データベースからレコードを取得する際に問題が発生しました
- 29. mapActivityを起動する際にエラーが発生しましたか?問題の
- 30. RODBC for Rをインストールする際に問題が発生しました。clang:error :?
マクロをデバッグすることができました。可能であれば、私はそれらを使用しないでください。マクロをソースに展開してデバッグするのは大変なことでしたが、正常に動作していれば、マクロ形式に戻すことができます。 –
私はこれを試して、これまでのところ働いています...助けてくれてありがとう! – anthv123