XCode6:无法创建观察点
XCode 6: Unable to create watchpoint
我正在尝试观察以下变量
vector<Vec3f> lines[2];
in XCode(其中 Vec3f
是 OpenCV 数据类型,3 个浮点数的向量)。
但是当我在变量视图中右键单击变量并选择Watch "lines"
时,我被XCode:
大喊大叫
error: Watchpoint creation failed (addr=0x16fd92d48, size=48, variable
expression='lines'). error: watch size of 48 is not supported
其他 vector<T>
类型的变量似乎也会发生这种情况,但前提是它是局部变量。我可以看到作为方法参数传入的 vector
就好了。
double computeReprojectionError(vector<Point2f>& imgpts1, vector<Point2f>& imgpts2, Mat& inlier_mask, const Mat& F)
{
// ^ I can watch this guy
vector<Vec3f> lines[2]; // <- I cannot watch this guy (size 48)
vector<Point2f> imgpts1_copy(npt), // <- I cannot watch this guy (size 24)
imgpts2_copy(npt);
...
我用谷歌搜索了这个错误,但没有成功。有人可以阐明这件事吗?
观察点通常是相当有限的资源。你没有说你在调试什么架构,但是 x86_64,例如,只有 4 个硬件观察点寄存器,每个寄存器最多可以观察 8 个字节。因此,无论如何您都无法在 x86_64 上观看 48 字节的区域。
但是你应该可以使用 3 个 8 字节的 watch 来监视一个 24 字节的区域。我在本地试过这个,看起来 watchpoint 设置中有一个错误 - 它不会将大于本机 watchpoint 大小的请求分配到几个较小的 watches 中。所以你必须手动将请求分解成 1/2/4/8 字节的块。
我向 Apple 错误报告程序提交了一个错误以跟踪此问题。但是,如果您想跟踪它,请随时在 Apple 的 http://bugreporter.apple.com 网站上提交一个,如果您想跟踪此问题的解决方案,我会复制我的。
我正在尝试观察以下变量
vector<Vec3f> lines[2];
in XCode(其中 Vec3f
是 OpenCV 数据类型,3 个浮点数的向量)。
但是当我在变量视图中右键单击变量并选择Watch "lines"
时,我被XCode:
error: Watchpoint creation failed (addr=0x16fd92d48, size=48, variable expression='lines'). error: watch size of 48 is not supported
其他 vector<T>
类型的变量似乎也会发生这种情况,但前提是它是局部变量。我可以看到作为方法参数传入的 vector
就好了。
double computeReprojectionError(vector<Point2f>& imgpts1, vector<Point2f>& imgpts2, Mat& inlier_mask, const Mat& F)
{
// ^ I can watch this guy
vector<Vec3f> lines[2]; // <- I cannot watch this guy (size 48)
vector<Point2f> imgpts1_copy(npt), // <- I cannot watch this guy (size 24)
imgpts2_copy(npt);
...
我用谷歌搜索了这个错误,但没有成功。有人可以阐明这件事吗?
观察点通常是相当有限的资源。你没有说你在调试什么架构,但是 x86_64,例如,只有 4 个硬件观察点寄存器,每个寄存器最多可以观察 8 个字节。因此,无论如何您都无法在 x86_64 上观看 48 字节的区域。
但是你应该可以使用 3 个 8 字节的 watch 来监视一个 24 字节的区域。我在本地试过这个,看起来 watchpoint 设置中有一个错误 - 它不会将大于本机 watchpoint 大小的请求分配到几个较小的 watches 中。所以你必须手动将请求分解成 1/2/4/8 字节的块。
我向 Apple 错误报告程序提交了一个错误以跟踪此问题。但是,如果您想跟踪它,请随时在 Apple 的 http://bugreporter.apple.com 网站上提交一个,如果您想跟踪此问题的解决方案,我会复制我的。