Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. segmentation fault
Forum Update on Monday, May 27th 2025

segmentation fault

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
qt 4.8cross-compilingarmv7mqtt
61 Posts 6 Posters 24.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J jsulm
    15 Oct 2019, 04:46

    @Milav Please show where exactly you're calling

    mosq = new qtmosq();
    

    It must be inside one of the MainWindow methods.

    M Offline
    M Offline
    Milav
    wrote on 15 Oct 2019, 04:53 last edited by
    #9

    @jsulm

    i call it in mainwindow.cpp file.

    here i have send the code snip for that portion.

    mainwindow.cpp

    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        ui->send->setDisabled(true);
        ui->message->setDisabled(true);
        ui->subscribe->setDisabled(true);
        ui->topic->setDisabled(true);
    
        ui->lineIP->setText(QString("a3jkuztr3frwt4-ats.iot.ap-south-1.amazonaws.com"));
        ui->linePort->setText(QString("8883"));
    
        lib_init();
    
        connect (ui->connect, SIGNAL(clicked()), this, SLOT(connectPressed()));
        connect (ui->send, SIGNAL(clicked()), this, SLOT(sendPressed()));
        connect (ui->subscribe, SIGNAL(clicked()), this, SLOT(subscribePressed()));
    }
    
    void MainWindow::connectPressed()
    {
        QByteArray host = ui->lineIP->text().toLocal8Bit();
        QByteArray id = ui->lineID->text().toLocal8Bit();
    
        int port = 0;
        port = ui->linePort->text().toInt();
        if (!port)
        {
            ui->linePort->clear();
            return ;
        }
        ui->connect->setDisabled(true);
    
    
        mosq = new qtmosq(id, true);
        int size = sizeof(*mosq);
        qDebug() << size;
        connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
        connect (mosq, SIGNAL(subscribed()), this ,SLOT(subscribed()));
        connect (mosq, SIGNAL(connected()), this, SLOT(connected()));
        connect (mosq, SIGNAL(messageSent(bool)), this, SLOT(setMessageStatus(bool)));
        connect (mosq, SIGNAL(messageReceived(QString)), this, SLOT(showMessage(QString)));
        mosq->connect_async(host.data(), port);
        mosq->loop_start();
    
    }
    

    mainwindow.h

    #include <QMainWindow>
    #include "qtmosq.h"
    
    namespace Ui {
    class MainWindow;
    }
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    private:
        qtmosq* mosq;
        QStringList subed;
        QString currentTopic;
        Ui::MainWindow *ui;
    
    private slots:
        void setMessageStatus(bool);
        void connectPressed();
        void sendPressed();
        void connectEnabled();
        void subscribePressed();
        void subscribed();
        void connected();
        void showMessage(QString);
    };
    

    qtmosq.h

    #ifndef QTMOSQ_H
    #define QTMOSQ_H
    
    #include "QObject"
    #include "mosquittopp.h"
    
    using namespace mosqpp;
    
    class qtmosq : public QObject, public mosquittopp
    {
        Q_OBJECT
    
    public:
        qtmosq(const char *id = NULL, bool clean_session = true) : mosquittopp (id, clean_session) {MID = 0;}
        ~qtmosq() {}
    
        void on_connect(int result)
        {
            if (!result)
            {
                //subscribe(NULL, "$SYS/#", 2);
                emit connected();
            }
            else
                emit connectEnable();
        }
        void on_publish(int id)
        {
            MID++;
            emit messageSent(true);
        }
        void on_subscribe(int mid, int qos_count, const int *granted_qos)
        {
            if (MID != 0)
                emit subscribed();
            MID++;
        }
        void on_message(const mosquitto_message *message)
        {
            if (message->payloadlen)
            {
                QString s(message->topic);
                s += '>';
                s += (char*) message->payload;
                emit messageReceived(s);
            }
        }
    
        int* getMID() {return &MID;}
    
    private:
        int MID;
    
    signals:
        void connected();
        void messageSent(bool);
        void messageReceived(QString);
        void connectEnable();
        void subscribed();
    };
    
    #endif // QTMOSQ_H
    
    

    here above i send the code for the same.

    if you get more please tell me.

    J 1 Reply Last reply 15 Oct 2019, 05:00
    0
    • M Milav
      15 Oct 2019, 04:53

      @jsulm

      i call it in mainwindow.cpp file.

      here i have send the code snip for that portion.

      mainwindow.cpp

      MainWindow::MainWindow(QWidget *parent) :
          QMainWindow(parent),
          ui(new Ui::MainWindow)
      {
          ui->setupUi(this);
          ui->send->setDisabled(true);
          ui->message->setDisabled(true);
          ui->subscribe->setDisabled(true);
          ui->topic->setDisabled(true);
      
          ui->lineIP->setText(QString("a3jkuztr3frwt4-ats.iot.ap-south-1.amazonaws.com"));
          ui->linePort->setText(QString("8883"));
      
          lib_init();
      
          connect (ui->connect, SIGNAL(clicked()), this, SLOT(connectPressed()));
          connect (ui->send, SIGNAL(clicked()), this, SLOT(sendPressed()));
          connect (ui->subscribe, SIGNAL(clicked()), this, SLOT(subscribePressed()));
      }
      
      void MainWindow::connectPressed()
      {
          QByteArray host = ui->lineIP->text().toLocal8Bit();
          QByteArray id = ui->lineID->text().toLocal8Bit();
      
          int port = 0;
          port = ui->linePort->text().toInt();
          if (!port)
          {
              ui->linePort->clear();
              return ;
          }
          ui->connect->setDisabled(true);
      
      
          mosq = new qtmosq(id, true);
          int size = sizeof(*mosq);
          qDebug() << size;
          connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
          connect (mosq, SIGNAL(subscribed()), this ,SLOT(subscribed()));
          connect (mosq, SIGNAL(connected()), this, SLOT(connected()));
          connect (mosq, SIGNAL(messageSent(bool)), this, SLOT(setMessageStatus(bool)));
          connect (mosq, SIGNAL(messageReceived(QString)), this, SLOT(showMessage(QString)));
          mosq->connect_async(host.data(), port);
          mosq->loop_start();
      
      }
      

      mainwindow.h

      #include <QMainWindow>
      #include "qtmosq.h"
      
      namespace Ui {
      class MainWindow;
      }
      
      class MainWindow : public QMainWindow
      {
          Q_OBJECT
      
      public:
          explicit MainWindow(QWidget *parent = 0);
          ~MainWindow();
      
      private:
          qtmosq* mosq;
          QStringList subed;
          QString currentTopic;
          Ui::MainWindow *ui;
      
      private slots:
          void setMessageStatus(bool);
          void connectPressed();
          void sendPressed();
          void connectEnabled();
          void subscribePressed();
          void subscribed();
          void connected();
          void showMessage(QString);
      };
      

      qtmosq.h

      #ifndef QTMOSQ_H
      #define QTMOSQ_H
      
      #include "QObject"
      #include "mosquittopp.h"
      
      using namespace mosqpp;
      
      class qtmosq : public QObject, public mosquittopp
      {
          Q_OBJECT
      
      public:
          qtmosq(const char *id = NULL, bool clean_session = true) : mosquittopp (id, clean_session) {MID = 0;}
          ~qtmosq() {}
      
          void on_connect(int result)
          {
              if (!result)
              {
                  //subscribe(NULL, "$SYS/#", 2);
                  emit connected();
              }
              else
                  emit connectEnable();
          }
          void on_publish(int id)
          {
              MID++;
              emit messageSent(true);
          }
          void on_subscribe(int mid, int qos_count, const int *granted_qos)
          {
              if (MID != 0)
                  emit subscribed();
              MID++;
          }
          void on_message(const mosquitto_message *message)
          {
              if (message->payloadlen)
              {
                  QString s(message->topic);
                  s += '>';
                  s += (char*) message->payload;
                  emit messageReceived(s);
              }
          }
      
          int* getMID() {return &MID;}
      
      private:
          int MID;
      
      signals:
          void connected();
          void messageSent(bool);
          void messageReceived(QString);
          void connectEnable();
          void subscribed();
      };
      
      #endif // QTMOSQ_H
      
      

      here above i send the code for the same.

      if you get more please tell me.

      J Offline
      J Offline
      jsulm
      Lifetime Qt Champion
      wrote on 15 Oct 2019, 05:00 last edited by jsulm
      #10

      @Milav So, you get that error here in MainWindow:

      ui->connect->setDisabled(true); 
      mosq = new qtmosq(id, true); // Is it here?
      int size = sizeof(*mosq);
      

      ?
      It should work.
      Are there any other warnings or errors?
      Try to do a complete rebuild: delete build directory, run qmake and build.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      M 2 Replies Last reply 15 Oct 2019, 05:08
      0
      • J jsulm
        15 Oct 2019, 05:00

        @Milav So, you get that error here in MainWindow:

        ui->connect->setDisabled(true); 
        mosq = new qtmosq(id, true); // Is it here?
        int size = sizeof(*mosq);
        

        ?
        It should work.
        Are there any other warnings or errors?
        Try to do a complete rebuild: delete build directory, run qmake and build.

        M Offline
        M Offline
        Milav
        wrote on 15 Oct 2019, 05:08 last edited by
        #11

        @jsulm

        when i build the project it give me only warning like follow.

        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/qtmosq.h:14: warning: 'mosqpp::mosquittopp::mosquittopp(const char*, bool)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:94) [-Wdeprecated-declarations]
        
        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:57: warning: 'int mosqpp::mosquittopp::connect_async(const char*, int, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:103) [-Wdeprecated-declarations]
        
        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:80: warning: 'int mosqpp::mosquittopp::subscribe(int*, const char*, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:110) [-Wdeprecated-declarations]
        

        but i face segmentation fault error when i run that project, an i found the line at where i face segmentation fault.

        it is ...

        mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
        
        M 1 Reply Last reply 15 Oct 2019, 06:10
        0
        • J jsulm
          15 Oct 2019, 05:00

          @Milav So, you get that error here in MainWindow:

          ui->connect->setDisabled(true); 
          mosq = new qtmosq(id, true); // Is it here?
          int size = sizeof(*mosq);
          

          ?
          It should work.
          Are there any other warnings or errors?
          Try to do a complete rebuild: delete build directory, run qmake and build.

          M Offline
          M Offline
          Milav
          wrote on 15 Oct 2019, 05:12 last edited by
          #12

          @jsulm

          Hello

          Here i have send the link at where i download the example.

          Reference link

          J 1 Reply Last reply 15 Oct 2019, 05:19
          0
          • M Milav
            15 Oct 2019, 05:12

            @jsulm

            Hello

            Here i have send the link at where i download the example.

            Reference link

            J Offline
            J Offline
            jsulm
            Lifetime Qt Champion
            wrote on 15 Oct 2019, 05:19 last edited by
            #13

            @Milav That example does exactly what I suggested you to do:

            ui->connect->setDisabled(true);
            
            mosq = new qtmosq(id, false); // HERE
            connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
            

            Did you try to build and run this example? If so - does it work?

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            M 1 Reply Last reply 15 Oct 2019, 05:36
            0
            • J jsulm
              15 Oct 2019, 05:19

              @Milav That example does exactly what I suggested you to do:

              ui->connect->setDisabled(true);
              
              mosq = new qtmosq(id, false); // HERE
              connect (mosq, SIGNAL(connectEnable()), this, SLOT(connectEnabled()));
              

              Did you try to build and run this example? If so - does it work?

              M Offline
              M Offline
              Milav
              wrote on 15 Oct 2019, 05:36 last edited by
              #14

              @jsulm

              Yes i delete the build directory and again i rebuild the whole project but i couldn't run the example. it is not work.

              J 1 Reply Last reply 15 Oct 2019, 05:51
              0
              • M Milav
                15 Oct 2019, 05:36

                @jsulm

                Yes i delete the build directory and again i rebuild the whole project but i couldn't run the example. it is not work.

                J Offline
                J Offline
                jsulm
                Lifetime Qt Champion
                wrote on 15 Oct 2019, 05:51 last edited by
                #15

                @Milav said in segmentation fault:

                it is not work

                What exactly does this mean? Doesn't build? Crashes? Does not do what it should? ...?

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                M 1 Reply Last reply 15 Oct 2019, 05:56
                0
                • J jsulm
                  15 Oct 2019, 05:51

                  @Milav said in segmentation fault:

                  it is not work

                  What exactly does this mean? Doesn't build? Crashes? Does not do what it should? ...?

                  M Offline
                  M Offline
                  Milav
                  wrote on 15 Oct 2019, 05:56 last edited by
                  #16

                  @jsulm

                  it means build successful.

                  but it is not run, it is crashes application.

                  means while running the application, the application are crash.

                  with following error.

                  "segmentation fault"

                  and i debug the application via qDebug(), the application are crash on following line of code.

                  mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                  
                  J 1 Reply Last reply 15 Oct 2019, 05:58
                  0
                  • M Milav
                    15 Oct 2019, 05:56

                    @jsulm

                    it means build successful.

                    but it is not run, it is crashes application.

                    means while running the application, the application are crash.

                    with following error.

                    "segmentation fault"

                    and i debug the application via qDebug(), the application are crash on following line of code.

                    mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                    
                    J Offline
                    J Offline
                    J.Hilk
                    Moderators
                    wrote on 15 Oct 2019, 05:58 last edited by
                    #17

                    @Milav well, did you press connect before you pressed subscribe?

                    If not it will crash...


                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                    Q: What's that?
                    A: It's blue light.
                    Q: What does it do?
                    A: It turns blue.

                    M 1 Reply Last reply 15 Oct 2019, 06:05
                    0
                    • J J.Hilk
                      15 Oct 2019, 05:58

                      @Milav well, did you press connect before you pressed subscribe?

                      If not it will crash...

                      M Offline
                      M Offline
                      Milav
                      wrote on 15 Oct 2019, 06:05 last edited by
                      #18

                      @J-Hilk

                      I press first Connect button and than after i press subscribed button.

                      but it is crash...

                      J 1 Reply Last reply 15 Oct 2019, 06:10
                      0
                      • M Milav
                        15 Oct 2019, 05:08

                        @jsulm

                        when i build the project it give me only warning like follow.

                        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/qtmosq.h:14: warning: 'mosqpp::mosquittopp::mosquittopp(const char*, bool)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:94) [-Wdeprecated-declarations]
                        
                        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:57: warning: 'int mosqpp::mosquittopp::connect_async(const char*, int, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:103) [-Wdeprecated-declarations]
                        
                        /home/tdp0009/Teq_Projects/Aug_2019/HMI/Firmware/QT/12_oct_hmi/qt-mosquitto-master/mainwindow.cpp:80: warning: 'int mosqpp::mosquittopp::subscribe(int*, const char*, int)' is deprecated (declared at ../../../../CC_Lib/mosquitto/phytec_wega_build_websockets/usr/local/include/mosquittopp.h:110) [-Wdeprecated-declarations]
                        

                        but i face segmentation fault error when i run that project, an i found the line at where i face segmentation fault.

                        it is ...

                        mosq->subscribe(NULL, "sensors/temprature", 1); // Segmentation falut
                        
                        M Offline
                        M Offline
                        mvuori
                        wrote on 15 Oct 2019, 06:10 last edited by
                        #19

                        If temprature is supposed to be temperature, this is a bug:
                        mosq->subscribe(NULL, "sensors/temprature", 1);

                        M 1 Reply Last reply 15 Oct 2019, 06:29
                        0
                        • M Milav
                          15 Oct 2019, 06:05

                          @J-Hilk

                          I press first Connect button and than after i press subscribed button.

                          but it is crash...

                          J Offline
                          J Offline
                          jsulm
                          Lifetime Qt Champion
                          wrote on 15 Oct 2019, 06:10 last edited by
                          #20

                          @Milav Did you debug to see whether mosq is not a nullptr? If it's not please provide stack trace after crash.
                          Also, in connectPressed it does a return if port is not set - is it set if you press connect?
                          You should really run through debugger...

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          M 1 Reply Last reply 15 Oct 2019, 06:28
                          0
                          • J jsulm
                            15 Oct 2019, 06:10

                            @Milav Did you debug to see whether mosq is not a nullptr? If it's not please provide stack trace after crash.
                            Also, in connectPressed it does a return if port is not set - is it set if you press connect?
                            You should really run through debugger...

                            M Offline
                            M Offline
                            Milav
                            wrote on 15 Oct 2019, 06:28 last edited by
                            #21

                            @jsulm

                            i debug the size of mosq pointer through following code.

                             int size = sizeof(*mosq);
                                qDebug() << size;
                            

                            and output is 20;

                            and in connectpressed button slot are run succesfully.

                            port value are shown correctly.

                            when i run debugger it shows following error.

                            The inferior stopped because it received a signal from the Operating System.
                            
                            Signal name : 
                            SIGILL
                            Signal meaning : 
                            Illegal instruction
                            
                            

                            hope you got my point.

                            J 1 Reply Last reply 15 Oct 2019, 06:48
                            0
                            • M mvuori
                              15 Oct 2019, 06:10

                              If temprature is supposed to be temperature, this is a bug:
                              mosq->subscribe(NULL, "sensors/temprature", 1);

                              M Offline
                              M Offline
                              Milav
                              wrote on 15 Oct 2019, 06:29 last edited by
                              #22

                              @mvuori

                              no it is supposed to be sensors/temprature.

                              1 Reply Last reply
                              0
                              • M Milav
                                15 Oct 2019, 06:28

                                @jsulm

                                i debug the size of mosq pointer through following code.

                                 int size = sizeof(*mosq);
                                    qDebug() << size;
                                

                                and output is 20;

                                and in connectpressed button slot are run succesfully.

                                port value are shown correctly.

                                when i run debugger it shows following error.

                                The inferior stopped because it received a signal from the Operating System.
                                
                                Signal name : 
                                SIGILL
                                Signal meaning : 
                                Illegal instruction
                                
                                

                                hope you got my point.

                                J Offline
                                J Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on 15 Oct 2019, 06:48 last edited by
                                #23

                                @Milav said in segmentation fault:

                                i debug the size of mosq pointer through following code.

                                The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                Do

                                qDebug() << mosq;
                                

                                instead to see the value of the pointer.
                                Without stack trace I can't tell you what is going on...

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                M J 2 Replies Last reply 15 Oct 2019, 07:14
                                0
                                • J jsulm
                                  15 Oct 2019, 06:48

                                  @Milav said in segmentation fault:

                                  i debug the size of mosq pointer through following code.

                                  The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                  Do

                                  qDebug() << mosq;
                                  

                                  instead to see the value of the pointer.
                                  Without stack trace I can't tell you what is going on...

                                  M Offline
                                  M Offline
                                  Milav
                                  wrote on 15 Oct 2019, 07:14 last edited by
                                  #24

                                  @jsulm

                                  when i execute "qDebug() << mosq;" it gives following output.

                                  qtmosq(0xac50b0)
                                  

                                  how i see stack trace in qt?

                                  can you please explore me more about stack trace?

                                  J 1 Reply Last reply 15 Oct 2019, 07:20
                                  0
                                  • J jsulm
                                    15 Oct 2019, 06:48

                                    @Milav said in segmentation fault:

                                    i debug the size of mosq pointer through following code.

                                    The size of a pointer is fixed, it doesn't matter whether it contains nullptr or something else.
                                    Do

                                    qDebug() << mosq;
                                    

                                    instead to see the value of the pointer.
                                    Without stack trace I can't tell you what is going on...

                                    J Offline
                                    J Offline
                                    JonB
                                    wrote on 15 Oct 2019, 07:16 last edited by
                                    #25

                                    @Milav

                                    int size = sizeof(*mosq);

                                    @jsulm

                                    The size of a pointer is fixed,

                                    A slight slip of the tongue there. I think what my colleague @jsulm meant to clarify is: sizeof(...) is a compile-time calculation, it does not matter what the value of mosq is or what it points at run-time, rather this statement just assigns sizeof(qtmosq) regardless. As he says, show us what is in the mosq.

                                    M 1 Reply Last reply 15 Oct 2019, 07:18
                                    0
                                    • J JonB
                                      15 Oct 2019, 07:16

                                      @Milav

                                      int size = sizeof(*mosq);

                                      @jsulm

                                      The size of a pointer is fixed,

                                      A slight slip of the tongue there. I think what my colleague @jsulm meant to clarify is: sizeof(...) is a compile-time calculation, it does not matter what the value of mosq is or what it points at run-time, rather this statement just assigns sizeof(qtmosq) regardless. As he says, show us what is in the mosq.

                                      M Offline
                                      M Offline
                                      Milav
                                      wrote on 15 Oct 2019, 07:18 last edited by
                                      #26

                                      @JonB

                                      when i execute "qDebug() << mosq;" it gives following output.

                                      qtmosq(0xac50b0)

                                      1 Reply Last reply
                                      0
                                      • M Milav
                                        15 Oct 2019, 07:14

                                        @jsulm

                                        when i execute "qDebug() << mosq;" it gives following output.

                                        qtmosq(0xac50b0)
                                        

                                        how i see stack trace in qt?

                                        can you please explore me more about stack trace?

                                        J Offline
                                        J Offline
                                        JonB
                                        wrote on 15 Oct 2019, 07:20 last edited by JonB
                                        #27

                                        @Milav

                                        when i execute "qDebug() << mosq;" it gives following output.
                                        qtmosq(0xac50b0)

                                        I'm not sure this is actually trying to deference the pointer, it may just print its value. I would try something likeqDebug() << mosq->something;, where something is some field you know is supposed to exist & be valid in a qtmosq. Or try qDebug() << *mosq (note the *)?

                                        how i see stack trace in qt?
                                        can you please explore me more about stack trace?

                                        I don't know how you run in your "Embedded Custom Board", but can you run the app from inside a debugger? then when it seg faults you will see a "stack trace" in the debugger showing the call stack when the fault occurred.

                                        J M 2 Replies Last reply 15 Oct 2019, 07:25
                                        1
                                        • J JonB
                                          15 Oct 2019, 07:20

                                          @Milav

                                          when i execute "qDebug() << mosq;" it gives following output.
                                          qtmosq(0xac50b0)

                                          I'm not sure this is actually trying to deference the pointer, it may just print its value. I would try something likeqDebug() << mosq->something;, where something is some field you know is supposed to exist & be valid in a qtmosq. Or try qDebug() << *mosq (note the *)?

                                          how i see stack trace in qt?
                                          can you please explore me more about stack trace?

                                          I don't know how you run in your "Embedded Custom Board", but can you run the app from inside a debugger? then when it seg faults you will see a "stack trace" in the debugger showing the call stack when the fault occurred.

                                          J Offline
                                          J Offline
                                          jsulm
                                          Lifetime Qt Champion
                                          wrote on 15 Oct 2019, 07:25 last edited by jsulm
                                          #28

                                          @JonB said in segmentation fault:

                                          I'm not sure this is actually trying to deference the pointer

                                          It does not, but I wanted to see its value :-)
                                          Looks like it's not NULL.

                                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          J 1 Reply Last reply 15 Oct 2019, 07:27
                                          1

                                          18/61

                                          15 Oct 2019, 06:05

                                          topic:navigator.unread, 43
                                          • Login

                                          • Login or register to search.
                                          18 out of 61
                                          • First post
                                            18/61
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved