新手求教:使用QNetworkInterface获取本机网络信息时运行后出现address.exe has triggered a breakpoint.

newguy411 2016-05-21 02:40:29
代码如下:
#include "address.h"
#include "ui_address.h"
#include <QNetworkInterface>
#include <stdlib.h>
#include <time.h>
#include <QDateTime>
address::address(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
QString Localhostname = QHostInfo::localHostName();
qDebug() << "localname:" << Localhostname;

QList <QNetworkInterface> interfacelist = QNetworkInterface::allInterfaces();
foreach(QNetworkInterface interface, interfacelist)
{
//设备名
qDebug() << "Device:" << interface.name();
//硬件地址
qDebug() << "MacAddress:" << interface.hardwareAddress();
//获取IP地址条目列表,每个条目中包含的IP地址,子网掩码,广播地址
QList<QNetworkAddressEntry> entrylist = interface.addressEntries();
foreach(QNetworkAddressEntry entry, entrylist)
{
//ip地址
qDebug() << "IP Address:" << entry.ip().toString();
//子网掩码
qDebug() << "Netmask:" << entry.netmask().toString();
//广播地址
qDebug() << "Broadcast:" << entry.broadcast().toString();
}
}

}

address::~address()
{

}

错误如下:

恳请各位大神出手相助
...全文
471 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
newguy411 2016-05-23
  • 打赏
  • 举报
回复
引用 5 楼 qq423399099 的回复:
用调试器进行调试,它显示了调用堆栈,你应该能够检查的变量值,当你走到堆栈,看看是否有任何的变量是在一个正确的状态。 崩溃的原因很多,比如: 你使用了一个无效的指针,你试图访问/引用。 越界了,析构的时候出错。 单步调试和设断点调试(QT中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
谢谢指导
newguy411 2016-05-23
  • 打赏
  • 举报
回复
引用 4 楼 paschen 的回复:
[quote=引用 3 楼 newguy411 的回复:] [quote=引用 1 楼 paschen 的回复:] 运行时错误,点左边那个break按钮,断下来,通过调用堆栈、变量监视等窗口观察分析原因
小生拙劣还是不知道该怎么解决[/quote] 这种错误别人不好帮你解决,还是要通过调试,通常你这错误应该是内存使用上的错误,比如使用了野指针等,在中断的地方观察各变量值以确定是什么原因[/quote] 感觉是指针越界了,谢谢啦
小灸舞 2016-05-21
  • 打赏
  • 举报
回复
用调试器进行调试,它显示了调用堆栈,你应该能够检查的变量值,当你走到堆栈,看看是否有任何的变量是在一个正确的状态。
崩溃的原因很多,比如:
你使用了一个无效的指针,你试图访问/引用。
越界了,析构的时候出错。
单步调试和设断点调试(QT中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
paschen 2016-05-21
  • 打赏
  • 举报
回复
引用 3 楼 newguy411 的回复:
[quote=引用 1 楼 paschen 的回复:] 运行时错误,点左边那个break按钮,断下来,通过调用堆栈、变量监视等窗口观察分析原因
小生拙劣还是不知道该怎么解决[/quote] 这种错误别人不好帮你解决,还是要通过调试,通常你这错误应该是内存使用上的错误,比如使用了野指针等,在中断的地方观察各变量值以确定是什么原因
newguy411 2016-05-21
  • 打赏
  • 举报
回复
引用 1 楼 paschen 的回复:
运行时错误,点左边那个break按钮,断下来,通过调用堆栈、变量监视等窗口观察分析原因
小生拙劣还是不知道该怎么解决
newguy411 2016-05-21
  • 打赏
  • 举报
回复
引用 1 楼 paschen 的回复:
运行时错误,点左边那个break按钮,断下来,通过调用堆栈、变量监视等窗口观察分析原因
我试试把
paschen 2016-05-21
  • 打赏
  • 举报
回复
运行时错误,点左边那个break按钮,断下来,通过调用堆栈、变量监视等窗口观察分析原因

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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