如何将程序调试过程中的信息重定向到GUI中

linfengfeiye 2008-12-08 10:36:35
我准备为一个dll程序写一个GUI,调用dll函数时会产生一些信息。
现在在vc2008下调试时,信息是显示在OutPut窗口中的,如何将这些信息重新定向到我写的GUI中呢?

现在在网络上找了很多例子程序,无奈我初次编写MFC程序,有以下疑问。

1.vc2008 的调试信息是从编译命令 cl...所开的窗口中得到的吗?程序中的cout<<"some what"和ASSERT(some)信息是否都是发送到一处的?

2.看到有的帖子说,用windows API函数关于新建console方法代替原本的console,如何得到这个console的输出,以及如何操作呢,有没有简单的例子

3.仔细看了QuickWin项目,关于重新定向console的管道,无奈水平不够,上面的例子太复杂了,不太明白如何应用,Redirect类中的StartChildProcess方法调用的

是一个命令行,而我的程序,不是采用命令行开启console的。

...全文
128 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
linfengfeiye 2009-01-11
  • 打赏
  • 举报
回复
andyniss 2008-12-25
  • 打赏
  • 举报
回复
up
linfengfeiye 2008-12-24
  • 打赏
  • 举报
回复
顶下,还没有解决!!
zhyuanshan 2008-12-10
  • 打赏
  • 举报
回复
楼主被Trace和cout迷惑了
Trace是你使用IED运行Debug版本的程序时输出到直接窗口面板的一个宏,使用DebugView软件也可以截获它,但是他说白了就是一个函数,我没有看过这个函数的具体实现,但是可以猜出应该是这样的:Trace函数每次调用的时候发送一个消息,接收窗口截获这个消息并把消息内容显示在指定的窗口中。
而cout<<是C++的流输出符号(不知道怎么称呼它),而其实他说白了也是个函数,是一个运算符重载的函数,里面的实现跟printf函数没有多大的分别,就是把信息输出到控制台。
所以楼主的问题不能使用像cout这样的,因为你不是要输出到控制台,你要输出到窗体
楼主可以查查资料看Trace发送的是什么消息,因为用DebugView可以截获它,楼主的程序也应该可以截获它,一旦实现了楼主的程序就可以像IDE一样接收Trace的消息了
除了上面的方法,楼主还可以自己在网络dll里实现一个函数,函数发送一个消息出来,外面的窗口截获它就可以显示了,其他网络数据也可以这样做
还有最笨的方法就是窗口定期直接访问dll里面的变量了,把数据读出来显示在窗口中,这是初级程序员干的
zhyuanshan 2008-12-09
  • 打赏
  • 举报
回复
好像不能用控制台那样吧,窗体比较复杂,你要用一个Text Control或者List Control等等来显示,然后写函数往里面输
linfengfeiye 2008-12-09
  • 打赏
  • 举报
回复
我详细说下我的程序


我用MFC写了一个dll程序,叫 A.dll,这个dll程序不需要GUI,它是一个网络协议。

现在我要开发一个窗口应用程序,用到A.dll这个网络协议,需要调用A.dll中的协议函数

现在界面已经写好了,只是有时候需要知道网络协议发送数据和接受数据的详细信息,已经网络的动态情况

如何在GUI的一个窗口中将这些信息写出来呢,这些信息可以在dll项目里用cout<<语句添加必要的网络信息

比如发送了什么数据和接受了什么数据。


另外问用cout<<语句和用TRACE打印的结果是输出到一个流上的吗?
Tomato77 2008-12-08
  • 打赏
  • 举报
回复
up
oyljerry 2008-12-08
  • 打赏
  • 举报
回复
这些调试信息是你自己Trace的?
你可以把你想要输出的信息,发送到GUI中去显示
linfengfeiye 2008-12-08
  • 打赏
  • 举报
回复
就是如何将调试信息显示到MFC的窗口中。

调试信息一般都是向控制台输出的,而GUI程序是直接不现实该信息的
zhyuanshan 2008-12-08
  • 打赏
  • 举报
回复
看不懂楼主的意思
GUI是图形用户界面吧
为什么又是Console?
cowcs 2008-12-08
  • 打赏
  • 举报
回复
帮顶了

7,540

社区成员

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

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