1.背景
在SS算法的matlab代碼中,超像素生成用的是《Efficient_Graph-Based_Image_Segmentation》的方法,作者提供的是C++代碼,SS作者對源碼進行修改,寫了matlab和C++的接口函數mexFelzenSegmentIndex函數實現C++和matlab的混合編程。爲了更好地理解源碼,需要對matlab和C++進行混合調試。
2步驟
2.1在matlab中編譯文件
在matlab進行編譯,此處一定要有-g選項
當前目錄會生成2個文件,一個是matlab可以調用的 .mexw64文件,以及在VS中用於調試的Program Debug Database (.pdb)程序
!!!沒有g選項是無法進行調試的
2.2在VS中打開調試界面
打開要調試的.cpp後綴的程序
點擊 調試 ——>附加到進程
!!!我用的是VS2015,其他版本的VS “附加到進程”可能在其他的位置。
可用進程選擇“matlab.exe”點擊“附加”
!!!此時要保證matlab是打開的,否則是找不到“matlab.exe”進程的
在.cpp文件中設立斷點
!!!不設立斷點進入不到.cpp文件中
2.3調試程序
在matlab中對應位置,就可以進行VS中進行調試了
在VS中停止調試會進行到matlab的調試模式中
3參考資料
https://blog.csdn.net/shaoxiaohu1/article/details/37745215
https://blog.csdn.net/jpday/article/details/50364882