我是靠谱客的博主 怕孤单冰棍,最近开发中收集的这篇文章主要介绍调试时设置断点后出现 此处无源代码可显示,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

现象:当前在原代码处设置断点,却在执行到此断点时“此处无源代码可显示”。

原因:多线程环境,如果你的一个while循环在不停读一个变量,如果在本先线程内,两次运行到读这个变量之间的代码没有写这个变量,代码在编译时会被优化成直接从寄存器读取而不是内存。如果其他线程会改写此变量,当前线程却会一直读入未改写的变量值。由于是优化成读寄存器了,当前的代码处就无法设置断点了。奇怪的是单线程环境不会出错,照理也是读寄存器的,应该还需要加个条件,其他线程必须改写了此变量。

解决:变量声明为volatile。

最后

以上就是怕孤单冰棍为你收集整理的调试时设置断点后出现 此处无源代码可显示的全部内容,希望文章能够帮你解决调试时设置断点后出现 此处无源代码可显示所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部