在以mfc建立的工程中,需要建立一个链表来保存一些数据。但是在创建结构体,以及对其赋值的过程中,发现对结构体变量不能观察,添加到监视器中的变量也出现变量名不存在的错误。

首先,在文件的开始定义一个结构体

struct drop_link

{

  int num;

  int x;

  int y;

  struct drop_link *next_node;

};

然后在一个按钮函数中编写以下代码:

int m=9;

struct drop_link drop;

drop.num=1;

drop.x=2;

drop.y=3;

www.sxzhongrui.com_node=NULL;

这时对第一行代码添加断点,编译调试时。断点变为灰色直接跳到程序的结尾处。对其中的变量添加到监视列表中,提示没有找到变量的符号。

然后我重新建立一个简单工程,把以上代码加入工程中;发现可以进行单步调试与观察变量;

我对此表示无语;

最后我在原工程中继续添加以下代码:

CString str;

str.format(_("x=%d,y=%d,m=%d"),drop.x,drop.y,m);

MessageBox(str);

这时我再编译调试,发现程序直接停到CString str这条语句,然后我单步调试,发现新增加的语句能调试与添加到监视器中正常观察。但是之前的变量还是无法观察;

观察到的str="x=2,y=3,m=9";可以看到drop.x,drop.y 以及m的值都存在,就是不能观察。

这个问题导致的原因是什么???还不知道!

转载于:https://www.sxzhongrui.com/kabe/p/4677917.html

?今天早上在进行单步调试的时候,当想要进入run()函数的时候,出现了无可用源的问题,先说一下这个问题出现的较大原因:是因为调试的时候逐过程跟踪到了系统api,我这个是跟踪到了ClutterCreate.dll动态库,退出的方法是shift+F11。解决的方法是:

工具栏中的工具---》选项---》调试---》常规---》勾掉“要求源文件与原始版本完全匹配”复选框。

再次重新编译调试即可进入该函数中。

当我们有时候用VS2010写完代码,进行调试运行时,发现程序进不了调试模式,断点模式!!

解决方法:

点击菜单栏 Tools,选择Options,在左边导航选择Debugging,点击左边小箭头,选择General

在右边窗口把Require source files to exactly match the original version前面的对号去掉,就可以解决问题

这句话中文的翻译是:【要求源文件与原始版本完全匹配】

转载于:https://www.sxzhongrui.com/suifeng/1546975