c# 调试,怎么定位到一个值发生变化时那行代码?

zzyhost 2017-12-24 03:19:12
比如一开始有个变量,我不知道它在什么时候会变,能否通过调试一下子就知道它在哪行代码变化了

注意,不是监视,监视还得一步一步找
...全文
435 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 楼主 u013402605 的回复:
比如一开始有个变量,我不知道它在什么时候会变,能否通过调试一下子就知道它在哪行代码变化了
其实调试就是调试。而设计软件要学习设计模式——绝非那种“大话java设计模式”,而是指 .net 框架中众多的实用模式。
  • 打赏
  • 举报
回复
基本上,捕获“值的变化”这是一个最基本的设计模式,在 .net 中有多种方式捕获不同对象的属性变化事件,那么学过类似 INotifyPropertyChanged、INotifyCollectionChanged 等接口设计模式的知识才是重点。
  • 打赏
  • 举报
回复
嗯是的,从“调用堆栈”窗口双击堆栈上的某个轨迹行,就可以直接进入前边的任意层调用接口,去调试那里的变量值。能分析堆栈上各层入口点的环境变量值(而不是仅仅贴出调用堆栈),这是调试的入门。
Anonymous477 2017-12-24
  • 打赏
  • 举报
回复
将这个变量修改为属性;
在属性set访问器修改值之后的地方打上断点;
然后右键点断点,选择"条件";

在弹出框中勾选"条件",并输入你要中断的条件后关闭;

再调试运行程序时,如果满足条件就会在这里中断;
然后可以从调用堆栈中查看是哪里调用的;

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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