VS Release 模式下 断点不能设置,局部变量不能创建。

NoEdUl 2016-04-07 02:45:01
代码如下,本意是说边缘查找,二值图和源图都是全局,所以没做参数进来,传了个label map.不过这不是重点
重点是,pixelCounter 和对应的 ppixelCounter 这俩变量声明不了。
我想对i和j设置条件断点,也加不上。
跑进这个局部方法之后局部变量监视里面没有i和j,也没有pixelcounter 和ppixelcounter,还有其他的变量被“随意”的初始化了一个值,比如direction=0,就初始化了随机值。

queue<boundary> contourfinding(unsigned char lMap[][640])
{

int pixelCounter =0;
int * ppixelCounter = &pixelCounter;
int R=0;
int label;
queue<boundary> boundaries;
for(int i = 1 ; i<=imgWid-1;i++)
{
label =0;
for(int j = 1;j<=imgHei-1;j++)
{
//图像处理部分
}
}
}


对了,应该不是unicode问题,我已经设置为unicode编码了,也报那个警告了。
...全文
248 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 2016-04-08
  • 打赏
  • 举报
回复
RELEASE下很多变量可能都被优化掉了,需要的话在DEBUG下调试
赵4老师 2016-04-08
  • 打赏
  • 举报
回复
使用写日志文件的办法调试。
ztenv 2016-04-07
  • 打赏
  • 举报
回复
换成debug,或尽可能的关掉优化
bluewanderer 2016-04-07
  • 打赏
  • 举报
回复
优化编译会用寄存器替换变量,这样watch是没办法看的(理论上可以实现,但是需要的信息量非常大,一般不会那么干),内存断点更不可能了。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧