LINUX.ORG.RU

При полной загрузки веб-страници программа вылетает в QWebEngineView

 ,


0

1

Доброго времени суток. Проблема такая, имеется QWebEngineView и QLineEdit. Когда веб-страница полностью загружается в QWebEngineView то вылетает ошибка:

Сигнал: SIGABRT

Назначение: Aborted

И компилятор переносит меня в файл Disassembler:

0xb7fdac28 51 push %ecx

0xb7fdac29 <+0x0001> 52 push %edx

0xb7fdac2a <+0x0002> 55 push %ebp

0xb7fdac2b <+0x0003> 89 e5 mov %esp,%ebp

0xb7fdac2d <+0x0005> 0f 34 sysenter

0xb7fdac2f <+0x0007> cd 80 int $0x80

-> 0xb7fdac31 <+0x0009> 5d pop %ebp Ругается на эту строку

0xb7fdac32 <+0x000a> 5a pop %edx

0xb7fdac33 <+0x000b> 59 pop %ecx

0xb7fdac34 <+0x000c> c3 ret

Сам код:

widget.h

#ifndef WIDGET_H
#define WIDGET_H
 
#include <QWidget>
#include <QLineEdit>
#include <QWebEngineView>
 
class Widget : public QWidget
{
    Q_OBJECT
 
public:
    Widget(QWidget *parent = 0);
    QLineEdit* line;
    QWebEngineView* web;
private slots:
    void Go_Link();
};
 
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include <QVBoxLayout>
#include <QWebEngineSettings>
Widget::Widget(QWidget *parent) :
    QWidget(parent)
{
    line=new QLineEdit();
    web=new QWebEngineView();
    connect(line,SIGNAL(returnPressed()),this,SLOT(Go_Link()));
    web->settings()->setAttribute(QWebEngineSettings::JavascriptEnabled,true);
    web->settings()->setAttribute(QWebEngineSettings::JavascriptCanAccessClipboard,true);
    web->settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows,true);
    web->settings()->setAttribute(QWebEngineSettings::AutoLoadImages,true);
    
    QVBoxLayout* box = new QVBoxLayout;
    box->addWidget(line);
    box->addWidget(web);
    setLayout(box);
}
void Widget::Go_Link(){
    if(!line->text().startsWith("ftp:")
            && !line->text().startsWith("http")
            && !line->text().startsWith("gopher:")){
        line -> setText("http://"+line->text());
    }
    QUrl url = line->text();
    web->load(url);
}

Что делать?

Подскажите новичку.


Ответ на: комментарий от Silerus

Если у него Qt без дебажной инфы, то это мало что даст. Нужно дизассемблировать QtWebEngine библиотеку и по смещениям посчитать, где падает (ну или подключить дебажную инфу / перекомпилить Qt).

ТС, версия Qt какая?

UVV ★★★★★
()
0xb7fdac2d <+0x0005> 0f 34 sysenter
0xb7fdac2f <+0x0007> cd 80 int $0x80 

EAX в студию!

и вообще, а разве это законно: sysenter + int 0x80? в какой библиотеке упало

ckotinko ☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.