Cでマクロをデバッグするときに問題があります。ブレークポイントを設定しようとすると、「ブレークポイントにヒットしません。 "面白いのは、このマクロではなく、ファイル内のすべてのものをデバッグできることです。私はすべてのシンボルファイルを正しく読み込み、クリーニングして再構築し、最適化を無効にしました。このマクロのデバッグがうまくいかない理由は何ですか?ここでは、(あなたがブレークポイントを設定しようとしている定義、呼び出しなどを確認するために役に立つかもしれません)十分なコンテキストを知らないVisual Studioでマクロをデバッグする際に問題が発生しました
2
A
答えて
3
は、いくつかの推測です:
あなたはマクロ定義にブレークポイントを設定していますまたはそれはどこに呼ばれますか? 定義にそれを設定すると、それはまさにあなたが見るエラーです。 定義はプリプロセッサに、コード内の別の場所で置換を行うように指示しているので、コードがコンパイラに到達するまでに#defineの行が空行に置き換えられました。
ブレークポイントが使用されている場所に正しく設定している場合は、あなたが考えているマクロの定義を使用していて、マクロが条件付きでコンパイルされてコードが生成されていないことを確認してください。 これは、デバッグ出力などのいくつかのものを無効にする一般的な方法であり、それを呼び出す行に実行可能なコードを与えません(周囲に他の実行可能コードがない限り)。 これをチェックする1つの方法は、マクロ定義のすぐ隣に#error行を置くことです。もしそれが使用されていれば、コンパイラはエラーを吐き出します。
マクロ機能は単なるテキスト置換であり、呼び出すことで呼び出しの各行(各呼び出しごと)にすべてのコードを配置することに注意してください。実際にはデバッグすることはできません(ステッピング'multiline'マクロ関数に変換する)、前と後の状態を比較するだけで足りることができます。これは、複雑なマクロ機能が悪い考えである主な理由の1つです。
関連する問題
- 1. Visual Studio 2008のインストールで問題が発生しました
- 2. Visual Pythonで軌道をシミュレートする際に問題が発生しました
- 3. designer.csがVisual Studioでユーザーコントロールを使用する際に問題が発生する
- 4. Android Studioプロジェクトを構築する際に問題が発生しました
- 5. arrayListをクリアする際に問題が発生しました
- 6. pyperclipをインストールする際に問題が発生しました
- 7. エクスプレスページをリフレッシュする際に問題が発生しました
- 8. .resファイルを開く際に問題が発生しました。
- 9. facebookにログインする際に問題が発生しました
- 10. ノードにエクスポートする際に問題が発生しました
- 11. Xamarin.iOSでVisual Studio 2015 update2接続の問題が発生しました。
- 12. Visual Studio用QtでC++コンパイルの問題が発生しました。
- 13. エラーが発生した時点でデバッグが中断します(Visual Studio)
- 14. JschでJavaコマンドを発行する際に問題が発生しました
- 15. ストリームとnoneMatchで実際に問題が発生しました
- 16. emacsのデバッグで問題が発生しました
- 17. xCode7.3デバッグで問題が発生しました
- 18. ピアツーピアチャットを書く際に問題が発生しました。
- 19. Visual Studio 2013でOpenSSLでリンカの問題が発生する
- 20. Visual Studioでnode.jsを開発する際のIntellisenseの問題2017
- 21. macOSにMonoをインストールする際に問題が発生しましたSierra
- 22. アプリケーションでurlbuilder.Buildurlを呼び出す際に問題が発生しました。
- 23. Visual Studioで更新されたデータベースをインポート中に問題が発生する
- 24. jQueryでhtmlを追加する際に問題が発生しました
- 25. UpdateSourceTrigger = PropertyChangedでWPFを更新する際に問題が発生しました
- 26. mysql.sock.lockでmysqlを起動する際に問題が発生しました。
- 27. pipでPythonパッケージをインストールする際に問題が発生しました
- 28. ajaxリクエストでエラーコールを実行する際に問題が発生しました
- 29. Android 2.2でSQLiteデータベースをコピーする際に問題が発生しました
- 30. Meteor.jsでStripeを使用する際に問題が発生しました
マクロをデバッグすることができました。可能であれば、私はそれらを使用しないでください。マクロをソースに展開してデバッグするのは大変なことでしたが、正常に動作していれば、マクロ形式に戻すことができます。 –
私はこれを試して、これまでのところ働いています...助けてくれてありがとう! – anthv123