运行绿山调试器时的幻像输入
Phantom Input When Running Green Hills Debugger
我正在Green Hills INTEGRITY 5.0.10下的Marvell Monahans PXA320上运行。我正在使用 MULTI 4.2.3 进行开发。我正在使用RTSERV连接进行调试,我被要求接管菜单驱动的程序。
我注意到,如果我停止程序(修改断点)然后恢复它,任务将进入无限循环,在调试器 I/O 选项卡中显示菜单。在打印菜单的每个实例之后,它都说我做了一个非法的选择。因此,一些输入显然被输入到任务中,就好像我输入了它一样(并且此输入显然对应于无效的菜单选择)。我在显示屏上看不到这个幻像输入是什么。
我能做些什么来防止停止/恢复搞砸 I/O?
谢谢戴夫
我的第一个猜测是 getc()(或你的等价物)返回 -1。 如果输入缓冲区由于停止应用程序而溢出,则可能会发生这种情况。 I/O 在应用程序停止时保持流动...
在使用 INTEGRITY 进行调试时停止程序通常不是一个好主意。 通常,最好将调试器附加到单个线程(空闲或不常用的线程),在该线程中设置"任意任务"断点,然后恢复线程。(不要关上窗户!这样做将删除断点。 您将在命中断点的线程上看到"DebugBrk"状态 - 然后您可以双击并附加到该特定线程。
遵循该替代过程应该(希望!)防止I/O错误。
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- C++如何通过用户输入删除列表元素
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 用户定义函数中的指针和输入
- 如何在C++中检查2D数组中负值的输入验证
- 如何只允许用户输入正整数
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 输入中的字符串数未知(以字母表示)
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 运行绿山调试器时的幻像输入