Environment
- OID version (commit or tag): head of main branch (b151cd9)
- OS and Version: MacOS Sonoma 14.2.1, Ubuntu 22.04
- Debugger and versions:
lldb: 17.0.6 on MacOS, 14.0.0 on Ubuntu.
- Python version: 3.11.7 on MacOS, 3.10.12 on Ubuntu
Describe the bug
OpenCV matrices, stored in STL containers like std::vector or std::map, are not displayed.
To Reproduce
Same setup as in #215. Compile sample project, run it in LLDB and try to inspect variables, storing OpenCV matrices.
- Clone and build sample project
git clone https://github.com/wl2776/oid_debug_sample
cd oid_debug_sample
conan install . -b missing -s \&:build_type=Debug -s build_type=Release -of build
cd build
cmake .. --preset conan-debug
make -j
lldb sample
breakpoint set -l 18 -s sample.cpp
run
- When debugger stops on the breakpoint, switch to OID window and try to display
mh.v[0]
Expected behavior
Matrix is shown
Actual behavior
Matrix is not displayed
Error messages/stack traces
None.
Additional context
I've added call to print inside the method Mat.is_symbol_observable (file resources/oidscripts/oidtypes/opencv.py)
It shows that type of variable mh.v[0] is std::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >::value_type.
Currently this method tries to match this type with regex, requiring that type name ends with cv::Mat.
Environment
lldb: 17.0.6 on MacOS, 14.0.0 on Ubuntu.
Describe the bug
OpenCV matrices, stored in STL containers like
std::vectororstd::map, are not displayed.To Reproduce
Same setup as in #215. Compile sample project, run it in LLDB and try to inspect variables, storing OpenCV matrices.
lldb samplebreakpoint set -l 18 -s sample.cpprunmh.v[0]Expected behavior
Matrix is shown
Actual behavior
Matrix is not displayed
Error messages/stack traces
None.
Additional context
I've added call to
printinside the methodMat.is_symbol_observable(fileresources/oidscripts/oidtypes/opencv.py)It shows that type of variable
mh.v[0]isstd::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >::value_type.Currently this method tries to match this type with regex, requiring that type name ends with
cv::Mat.