Visual Studio 2013 c++ -如何确定哪一行写入我的变量
Visual Studio 2013 C++ - How to determine which line write to my variable?
今天我遇到了一个奇怪的问题,我的一个全局变量不知怎么的被破坏了。我试着在运行时修改它(为它分配了一些键),而我按住按钮是可以的,但一旦释放它,不太重要的字节就归零(损坏)。事实上,它在这两个值之间跳舞,我使用欺骗引擎来检查值。
我检查了对它的所有引用,我可以肯定地说,我只在程序启动时写入它,后来只从它读取。所以很可能是指针坏了,溢出了,或者别的什么。
我附加了作弊引擎的调试器,很容易找到哪个汇编代码写入它(我可以看到函数调用的确切名称),并试图确定哪一行是坏的,但是当观察代码时,这两个函数调用之间没有命令。我已经在我的代码中使用了安全函数(strcpy_s,…),并且总是使用sizeof宏,不确定哪里会出错。
是否有一种方法在Visual Studio中确定哪一行写到我的变量(地址)?或任何帮助,不胜感激。
你将会浪费内存——某些东西将会在变量之前的块中写入内存,但是"溢出"到变量所在的内存位置。我要做的是把一个内存断点上(检查VC文档,如果你不能从断点菜单中找出它),等待它改变。然后你可以在调用堆栈中看到哪些例程正在被处理,哪些应该进行内存更新(例如c风格的字符串清除或memset或类似)。
相关文章:
- 在C++的一行中初始化多个变量
- 将字符串存储到文件下一行的变量中
- 一行输入到多个变量
- 使用更改此变量的函数在同一行中打印引用变量
- 如何从文本文件中读取一行并将其分为不同的变量
- 如何在一行中从不同的变量(数据类型)创建一个字符数组?
- 如何在同一行中使用具有多个变量的 getline()
- 创建一个字符串变量,并在同一行上要求输入
- 引用变量在下一行程序执行后显示未找到的行为
- c++从ifstream中读取一行的最后一个变量
- 如何将一行数字读入不同的变量
- 从.txt文件中读取一行,然后插入变量
- 无法删除 txt 文件中 getline(cin , (变量)) 之后的下一行
- 将一行文件读入对象中的两个变量
- 我如何在同一行输入2个不同的变量,同时使用setw进行格式化
- 如何解析一行上变量数量未知的文本文件?
- 在一行中初始化多个私有变量
- c++读取文件,将每一行放入数组,对每个变量做一些操作
- 在C++中,你能在同一行声明多个引用变量吗
- 在c++中对齐(格式化)输出//多个变量在一行中