返回信息流在调试一个软件,由C#和C++组成,
1、单独调试功能B的时候没问题(运行了十几次),但是运行了功能A一次之后,再去调试功能B的时候,单步到“std::locale::global(std::locale("chs"))”就出现不动的情况(感觉像进入死循环,反正死活不能运行到下一行程序),
2、如果一开始单独运行功能A一次,正常,第二次debug下调试功能A时,单步到MarshalString(string^s, string& os)这个函数的时候,程序又出现上述情况,不动了(不进入下一行,也不报错,就是像进入死循环的感觉似的),
3、locale用法和MarshalString用法都是正确的,上网查了,都是对的,
求助,我该怎么找原因啊?不知道该怎么办了??
这是一条镜像帖。来源:北邮人论坛 / cpp / #76316同步于 2013/12/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
C#和C++结合,程序跑飞了?
zzzzd
2013/12/26镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
LZ的意思是①点了单步之后弹窗?
②不弹窗就是不动弹?
我猜是后者
那基本就几种情况
①循环条件不满足,无法跳出、死循环
②循环过长、要点10^N下(夸张)
③野指针乱指、数组越界恰好异常访问数据导致死循环等等
④变量重复声明使用错误,例如函数外声明一个,里面声明一个,使用不小心、本例中,据称有A\B两个功能,像我经常用全局变量,如果前者调用之后不清空数组之类的,代码多了,很容易出事。
暂时这么多吧吧,基本感觉都是死循环。
建议在单步调试的时候关注变量的变化=。=肉眼看外面肯定看不出啊
内存不够了。。
【 在 zzzzd 的大作中提到: 】
: 在调试一个软件,由C#和C++组成,
: 1、单独调试功能B的时候没问题(运行了十几次),但是运行了功能A一次之后,再去调试功能B的时候,单步到“std::locale::global(std::locale("chs"))”就出现不动的情况(感觉像进入死循环,反正死活不能运行到下一行程序),
: 2、如果一开始单独运行功能A一次,正常,第二次debug下调试功能A时,单步到MarshalString(string^s, string& os)这个函数的时候,程序又出现上述情况,不动了(不进入下一行,也不报错,就是像进入死循环的感觉似的),
: ...................
wocao\\\一看帖子原来是去年的了、、、、
不知道最后怎么样了
【 在 zzzzd 的大作中提到: 】
: 在调试一个软件,由C#和C++组成,
: 1、单独调试功能B的时候没问题(运行了十几次),但是运行了功能A一次之后,再去调试功能B的时候,单步到“std::locale::global(std::locale("chs"))”就出现不动的情况(感觉像进入死循环,反正死活不能运行到下一行程序),
: 2、如果一开始单独运行功能A一次,正常,第二次debug下调试功能A时,单步到MarshalString(string^s, string& os)这个函数的时候,程序又出现上述情况,不动了(不进入下一行,也不报错,就是像进入死循环的感觉似的),
: ...................