看板 LinuxDev 關於我們 聯絡資訊
最近使用gdb 去追蹤opencv 我編譯opencv 參數是 -g -O0 -ggdb3 但是我發現有些函數進不去感覺是被編譯器優化 ocl_remap 函數gdb 無法進入 , 被當作函數參數的函數會被優化? CV_OCL_RUN(_src.dims() <= 2 && _dst.isUMat(),ocl_remap(_src, _dst, _map1, _map2, interpolation, borderType, borderValue)) 如果把程式碼拆成兩行gdb 是可以正常進去ocl_remap bool ocl_remap_result = ocl_remap(_src, _dst, _map1, _map2, interpolation, borderType, borderValue); CV_OCL_RUN(_src.dims() <= 2 && _dst.isUMat(), ocl_remap_result) 想請問一下有什麼辦法解決這問題 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.104.30.127 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1570337721.A.E70.html
chuegou: 我猜因為_src.dims() <= 2 不成立 10/08 08:40
chuegou: 阿不對 抱歉看錯 10/08 08:42
yvb: 樓上的猜測, 我想應該很接近答案了. 10/09 21:57
yvb: 去查CV_OCL_RUN(condition, func)的定義,且印出condition看看 10/09 21:57
filiaslayers: 如果是被編譯器最佳化,也有可能是執行順序被改變了 10/12 12:42
descent: -O0 應該沒有做最佳化 11/27 00:03