MATLAB在VC2010中單步除錯MEX檔案

2021-09-30 11:27:02 字數 955 閱讀 4697

在matlab中呼叫mex函式,通過visual c++2010單步除錯mex檔案

步驟:[1]利用-g選項編譯mex檔案

本節利用testmexvc.c例項程式,其**如下所示:

#include

"mex.h"

void mexfunction(intnlhs, mxarray *plhs, int nrhs, const mxarray *prhs)

在vc++2010中除錯mex檔案,需要用-g選項編譯mex檔案,如下所示:

mex testmexvc.c –g

生成:兩

[2]開啟vc++2010,然後選擇tools--------attach to process選單項,如圖所示

[3]在彈出的對話方塊中選擇matlab程序,然後單擊attach按鈕確定,如下圖所示

[4]選擇file-----open file選單項開啟待除錯的檔案testmexvc.c,在testmexvc.c檔案中設定斷點,如下面所示:

[5]在matlab命令列視窗中執行待除錯的mex檔案testmexvc,程式執行到斷點的位置便會暫停,使用者可以根據需要對程式進行除錯,如下圖所示:

注:(1)[3]、[4]步驟可以互換

(2)若mex檔案中呼叫了其他c/c++檔案,也可對c/c++檔案進行單步除錯。如libsvm工具箱中的svm_model_matlab與svmtrain呼叫的svm.cpp檔案。

VC 2010中GDAL的安裝

準備檔案 vs2010 必須滴 gdal的原始碼 我用的這個版本的 1 編譯gdal,獲取include和lib和dll 2 啟動cmd,進入vc10的安裝目錄下,預設為c program files microsoft visual studio 10.0 vc bin,要是你會改目錄,找這個東西...

vc2010呼叫儲存過程

coinitialize null connectionptr pmyconnect null hresult hr pmyconnect.createinstance uuidof connection if failed hr return bstr t strconnect provider ...

VC2010的 DYNAMICBASE鏈結選項問題

近期偶然用windbg給乙個控制台程式的入口函式下斷點,位址之際用編譯出的map檔案中main函式的位址。結果windbg報告斷點未下成功,經過反覆檢視,包括在vc環境中除錯執行,均發現main函式的位址和map檔案中位址不一樣,切帶有隨機性。又用vc6.0實驗一遍,發現沒有任何問題。看來問題是出在...