gpt4 book ai didi

c - 应用程序结果受到另一个正在运行的应用程序的影响

转载 作者:行者123 更新时间:2023-11-30 16:04:42 25 4
gpt4 key购买 nike

这是我的 previous question 的后续内容尽管这是关于其他事情的。

我遇到了一个问题,由于某种原因,我从一个进程传递到另一个进程的消息仅显示第一个字母,在本例中为“M”。

我的应用程序基于 MSDN sample因此,为了确保我没有错过任何内容,我创建了一个单独的解决方案,添加了 MSDN 示例(没有根据我的需要进行任何更改),不出所料,它工作得很好。

现在奇怪的是,当我运行 MSDN 示例(如在调试中)并运行我自己的应用程序时,文本打印得很好,没有任何问题。第二次我在没有打开原始 MSDN 示例的情况下自行运行它,它无法工作,只显示一个“M”。

我查看了调试器,似乎没有发现任何可疑的东西(这是一张稍微过时的图片,我已经修复了数据类型不一致的问题)。

Debugger Information

谁能提供解决方案吗?我以前从未遇到过这样的事情。要查看我的源代码,只需查看我在问题顶部发布的链接就更容易,我没有必要将其发布两次。

感谢您的帮助。

编辑:

经过进一步调查,我自己的应用程序似乎意外地读取了其他应用程序的内存。如果我“轮询”消息,甚至没有通过生产者窗口发送消息,它仍然会收到消息,这一定意味着它正在从其他(MSDN)进程中读取消息,这也解释了为什么它只有在我运行 MSDN 时才能正常工作先采样。

我仍然不明白为什么会发生这种情况,如何阻止它以及如何修复它,这可能是我遇到过的最奇怪的事情。

****解决方案:****

虽然它不能解决两个应用程序相互影响的问题,但我已经设法解决了文本问题。我没有向这两个文件添加必要的#include,添加此文件修复了它,没有任何警告。

总是小事。

最佳答案

在“内存查看器”窗口中查看pBuf。字符串查看器将在第一个空终止符处终止,但超出的内容可能很有趣/有用或提供线索。

关于c - 应用程序结果受到另一个正在运行的应用程序的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2659511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com