Debugging with "Run in Terminal" checked, Qt through SIGSTOP

Not sure in which forum topic I should ask this question.

Anyway, I am basically trying to execute a bare Qt console project in debug mode with “run in terminal” checked.

Every time I run the program, Qt issues SIGSTOP even before entering into the main function.
Without debugging (with F5) if I simply run the program with CTRL + R, it runs fine.

I installed Qt on TX2 following the link below:

I see in the above article someone has reported the same issue.

If the issue is because the way Qt is installed on TX2, whats the correct way to install Qt in Jetson TX2?

Update:

Same issue with 32.1 (ubuntu 18.04 on tx2).
This time I installed qt directly using $sudo apt-get install

Any feedback?

I don’t know specifically about Qt, but SIGSTOP (and its counterpart, SIGCONT) are for suspending (or resuming) a process. This doesn’t cause execution in background, nor does it cause running without GUI. What it does is indefinitely pause an application (until told to continue). There is a second shorter way to describe what follows, but this explains the signals.

On the keyboard, if you run a program, and then hit CTRL-z, it suspends (SIGSTOP). The program still exists, but has essentially been given a breakpoint and is waiting to resume or terminate. If you then run command “fg”, (short for “foreground”), then your program starts running again. There have been times in history where people needed to interrupt long-running heavy-use programs on less powerful systems, run something short, and then resume. For that you suspend the program, do whatever else, and then resume (“fg”).

Note that there is an option to continue a program running in background. To do so you start by suspending the program, e.g., with CTRL-z, run command “bg” to continue while being able to run any other command in the foreground. When you want to actually see the application again, run “fg”.

Normally you would do this sort of thing with a long running non-interactive program, e.g., a calculation or database operation taking hours or longer.

Example, a shell script named “timestamp”:

#!/bin/bash

date '+%Y-%m-%d-%Hh%Mm%Ss_%a%d%b%y'

Script modified to display time once per second:

#!/bin/bash

while true; do {
  date '+%Y-%m-%d-%Hh%Mm%Ss_%a%d%b%y';
  sleep 1;
} done

Run the program, and after a few seconds hit CTRL-z. Output stops. Run “fg” to put it in foreground…the program continues.

The same thing, but giving you the ability to run new commands on the same terminal, run the program, CTRL-z, run “bg”, and watch the output…but realize you can now also run commands like “ls”. If you then run “fg”, then your original script takes that console.

All of the combination of CTRL-z and “bg” command combination could be done with:

./timestamp &

If you ran with “&”, then “fg” would remove the “&”.

It seems that what you are running as “console mode” is “suspend” instead. Try either running the program as normal, but " &" at the end, or else running the commadn “bg” to continue in background. “fg” when ready to run the process in foreground.

When you see SIGSTOP, think of it as CTRL-z. Search for “SIGSTOP” here:
https://en.wikipedia.org/wiki/Job_control_(Unix)#Implementation

The behavior seen isn’t specific to a Jetson. For a program to work in some custom way you would need to add custom signal handlers, but not all signals can be “caught”. I do not know what Qt does with this in its framework.