VSは、デバッガMATLAB MEX「現在、ブレークポイントがヒットして、文書の任意のシンボルをロードしていないではない」ブレークポイントのソリューションを打つことができませんでした
VSはデバッグMATLAB MEXファイルすることができますが、時には不可解な「現在は、ブレークポイントにヒットすることはできません、文書の任意のシンボルをロードしていない」と、ブレークポイントにヒットすることはできません。ブロガーは、4時間を費やし、最終的にどこピットを見つけます。
オンラインVSの設定を変更する現在の方法は無効です!
実験環境
Visual Studioの2017
2018b MATLAB
WIN 10
小さなオフィシャル運転パートナープレスの問題が再び行きます
https://ww2.mathworks.cn/help/matlab/matlab_external/debugging-on-microsoft-windows-platforms.html?action=changeCountry&s_tid=gn_loc_drop
以上の処理:
- あなたは、Visual Studio Cコンパイラを選択していることを確認してください:
cc = mex.getCompilerConfigurations('C','Selected');
cc.Name
= ANS
のMicrosoft Visual C ++ 2012©中(2015,2017が、ここで問題ではありません)
- -g MEXソースファイルをコンパイルした公式のサンプルのコピーは、このオプションはと.mexw64.pdbファイルを生成します.mexw64
copyfile(fullfile(matlabroot,'extern','examples','mex','yprime.c'),'.','f')
mex -g yprime.c
-
Visual Studioを起動します。あなたのMATLAB®セッションを終了しないでください。
-
Visual Studioツール]メニューから、[プロセスにアタッチ]を選択します。
-
「プロセスにアタッチ」ダイアログボックスで、[プロセス]を選択し、追加MATLABをクリックしてください(変更は何もない!!)
Visual Studioは、データをロードして、空のコードウィンドウを表示します。 -
[ファイル]> [開く]> [開く]ソースファイルyprime.cを選択してファイル。作業ディレクトリにyprime.cを見つけるMATLAB。(新たなVSソリューション)
-
でmexFunctionの入り口にブレークポイントを設定します。
この時、ブレークポイントは中空であり、ショーは「ブレークポイントにヒットすることはできません、現在は、ドキュメントの任意のシンボルをロードしていない、」それは正常です! -
自分自身を実行するためのコマンドラインでは(MATLABスクリプト内のプラス休憩で書かれていません)
yprime(1,1:4)
- win32の例外の下の最後に、提案閉鎖デバッグ> [ウィンドウ]> [例外の設定]> [チェックボックス
あなたはブレークポイントを打つことができる場合にお読みください
クローズドVSデバッガがない場合には、どのように何回もプレイコマンドを打つことができます。あなたはVSデバッガ、再起動を終了したら、しかし、どのように多くの時間がブレークポイントにヒットすることはできません(プロセスに再アタッチ)!
しかし、MathWorks社のMATLAB再MEX -g yprime.c彼らがヒットすることができます。。。
しかし、あなたは常にそれだけ一度ORZ冷却することはできません...
私はVSは、PDBファイルを変更したり、リロードせずに、そして最終的にはMATLAB VSデバッガでの通信が終了したときにオフにする必要が見つかったが、MATLABを知らない何のことを考えるようになった、一方的なコミュニケーション、これだけの時間を維持すべてクリア(VSプロセスのオープンに添付)を呼び出して再
yprime(1,1:4)
ブレークポイントを再ヒットします!
ヘルプメッセージを残してください場合は、あなたに感謝