精英盒子 -> 零毫秒 -> 零毫秒专用网络调试器全部完成! [打印本页]

jybox 2012-02-03 21:58

零毫秒专用网络调试器全部完成!



[attachment=274]

[attachment=275]



该工具主要用于零毫秒开发过程中的调试,功能灰常全面,而且针对零毫秒的数据包格式做了特别的优化。
大概有800行代码.....写了3天

小东西,就不规定版本号了,后续可能支持发送非零毫秒格式的数据包




源代码和零毫秒在同一个仓库:https://github.com/jybox/ZeroMS/tree/master/ONetworkDebuger

编译好的二进制程序(未带运行库....自行下载):
win32(50.3K):
http://www.kuaipan.cn/index.php?ac=file&oid=4874251010059190
http://115.com/file/be4tk3wz#
linux64(43.9K):
http://www.kuaipan.cn/index.php?ac=file&oid=4874251010059189
http://115.com/file/an4oxtxc#
linux32(44K):
http://115.com/file/c2by14gr#
http://www.kuaipan.cn/index.php?ac=file&oid=4874251010059188



jybox 2012-02-03 22:00
http://zeroms.googlecode.com/files/ONetworkDebuger-git70ee848687-2012.2.3-winodws32.zip

http://zeroms.googlecode.com/files/ONetworkDebuger-git70ee848687-2012.2.3-linux64.zip

http://zeroms.googlecode.com/files/ONetworkDebuger-git70ee848687-2012.2.3-linux32.zip

whtsky 2012-02-03 23:59

mason 2012-02-04 00:44

jybox 2012-02-06 17:17
0fens:程序:
C:\DOCUMENTS AND SETTINGS\ADMINISTRATOR\LOCAL SETTINGS\TEMP\HZ$D.377.1413\HZ$D.377.1414\ONETWORKDEBUGER.EXE;
阻止该进程继续运行.
处理结果:已成功阻止!
....... (2012-02-06 13:58) 

神马?360?

jybox 2012-02-06 19:22
0fens:[表情]国产之骄傲:东方微点 (2012-02-06 18:45) 

我已经裸奔很多年了

outman 2012-02-10 17:38
jybox:我已经裸奔很多年了 (2012-02-06 19:22) 

JY你看 你的程序行为特征太像病毒了

whtsky 2012-02-10 18:00
第9楼outman于2012-02-10 17:38发表的 回 jybox 的帖子 的帖子
jybox:我已经裸奔很多年了 (2012-02-06 19:22) [url=http://jybox.net/bbs/job.php?action=topost&amp ..
你知道的太多了

su 2012-02-23 17:07
发现一个小Bug
当先监听一个tcp端口,等同意建立一个链接后是这样:
[attachment=286]
然后关闭监听会剩下这个
[attachment=287]
但是这个链接~~不能用


jybox 2012-02-23 18:19
su:发现一个小Bug
当先监听一个tcp端口,等同意建立一个链接后是这样:
[图片]
然后关闭监听会剩下这个
[图片]
....... (2012-02-23 17:07) 

看起来比较复杂啊....
加了你说的那句,并没有效果,反而内存异常导致崩溃(加在454行前,和452行前都试了)

查了Qt的文档,对于void QTcpServer::close ()的描述是这样的:
Closes the server. The server will no longer listen for incoming connections.
(关闭服务器,不再接受连接)而不是关闭已有的连接

剩下的那个连接是QTcpServer收到连接请求后,建立起来的连接。问题就在于对方的连接关闭后,这边并没有发生什么错误(只有出错了才会被关闭嘛)..

jybox 2012-02-23 18:38
jybox:看起来比较复杂啊....
加了你说的那句,并没有效果,反而内存异常导致崩溃(加在454行前,和452行前都试了)
查了Qt的文档,对于void QTcpServer::close ()的描述是这样的:
....... (2012-02-23 18:19) 

看起来错误在这里ONetworkDebuger::onSocketError
这里对于QTcpSocket出错的情况没处理好,相应的指针没有被delete,可能这就是无法引发对方的错误从而关闭连接的原因

但是,在这个地方,无论是delete掉那个指针,还是调用析构函数,都会有诡异的指针异常。出错的地方在main里的a.exec(),也就是事件循环里面.........我还是没有搞清楚


jybox 2012-02-23 18:40
su:发现一个小Bug
当先监听一个tcp端口,等同意建立一个链接后是这样:
[图片]
然后关闭监听会剩下这个
[图片]
....... (2012-02-23 17:07) 

再另外,跌代器可能用的也有问题...........这个得等我清清脑子慢慢合计...

whtsky 2012-02-23 19:04
.从来都进python shell手写代码…

su 2012-02-23 20:26
jybox:
再另外,跌代器可能用的也有问题...........这个得等我清清脑子慢慢合计...

jybox 2012-02-23 20:53
问题好像更严重了呢(表示没看出来的代码有什么作用)
如下图,双击列表中的第一项,就直接崩溃了,错误点还是在app.exec()上
也可能是我写的比较乱,现在都理不清思路了,当时就是把它当个小东西写。
其实写的时候也出现过这样的问题,但是考虑到“自己连接自己”这种情况比较少,就一直没解决
这个主要是用于零毫秒开发过程中的调试,比如开发服务器的时候,可以用它暂时替代客户端,或者开发客户端的时候用它暂时替代服务器
好像我是在给自己找理由


[attachment=290]


[attachment=289]

jybox 2012-02-23 20:55
另外我怀疑你的代码不是最新的,
void ONetwokerDebuger::on_ConnectList_itemDoubleClicked(QListWidgetItem *item)
这其中的ONetwokerDebuger存在拼写错误,最新版本已经改过了...

su 2012-02-23 21:50
jybox:另外我怀疑你的代码不是最新的,
void ONetwokerDebuger::on_ConnectList_itemDoubleClicked(QListWidgetItem *item)
这其中的ONetwokerDebuger存在拼写错误,最新版本已经改过了... (2012-02-23 20:55) 

void ONetwokerDebuger::on_ConnectList_itemDoubleClicked(QListWidgetItem *item)
{
    if(udpList.contains(item->text()))
    {
        delete udpList[item->text()].conn;
        udpList.remove(item->text());
        updateList();
        return ;
    }

    if(tcpServerList.contains(item->text()))
    {
        tcpServerList[item->text()]->close();
        tcpServerList.remove(item->text());
        updateList();
        return ;
    }
    if(tcpList.contains(item->text()))
    {
        tcpList[item->text()]->close();
        tcpList.remove(item->text());
        updateList();
        return ;
    }
}
上面代码发错了

jybox 2012-02-24 16:53
su:void ONetwokerDebuger::on_ConnectList_itemDoubleClicked(QListWidgetItem *item)
{
    if(udpList.contains(item->text()))
    {
....... (2012-02-23 21:50) 

https://github.com/jybox/ZeroMS/commit/df41afc04a14175571e1f33c0f7ee8c302b13015

这次表现上是正常了,但如你所说,貌似存在内存泄露




Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.055209 second(s),query:5 Gzip enabled