This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cgdb terminal handling problems


I have a trivial C++ program, which was tested using
   g++ -g hello.cpp -o hello
   cgdb ./hello
   break main
   run

What gets displayed at that stage looks like the following where some of the long strings of escaped have been wrapped. There are funny characters
marking "Line 5" which is where the breakpoint was.

~:
~:
1: #include <iostream>
2:
3: int main(int argc, char *argv[])
4: {
5├>    std::cout << "Hello" << std::endl;
6:     return 0;
7: }
8:
~:
~:
/home/acn1/hello.cpp
[80X[80C[?25h[?25lbreakpoints-invalid[?25h[?25l
[80X[80C[?25h[?25l[80X[80C[?25h[?25l
Breakpoint 1,[67X[67C[?25h[?25l[80X[80C[?25h[?25lmain[76X[76C[?25h[?25l ([78X[78
C[?25h[?25largc[76X[76C[?25h[?25l=[79X[79C[?25h[?25l1[79X[79C[?25h[?25l,[79X[79C
[?25h[?25largv[76X[76C[?25h[?25l=[79X[79C[?25h[?25l
[80X[80C[?25h[?25larg-value *[?25h[?25l
0xffffcc40[70X[70C[?25h[?25l)[79X[79C[?25h[?25l at[77X[77C[?25h[?25lhello.cpp[71
X[71C[?25h[?25l:[79X[79C[?25h[?25l5[79X[79C[?25h[?25l[80X[80C[?25h[?25l[?25h[?25
l
[80X[80C[?25h[?25l[80X[80C[?25h[?25l[80X[80C[?25h[?25l[80X[80C[?25h[?25l(gdb)[75
X[75C[?25h[?25l

and you can see the mess of terminal-control escapes that unhelpfully appear. My terminal there is then not as responsive as I would like so progressing is hard. I can go ^Z to exit and then use kill to terminate the cgdb session. The above trasncript was collected by using COPY&PASTE from the terminal screen. But all those "[80C" etc etc appear as characters on my terminal just as such. When I go "echo $TERM" I see the default "xterm" and SHELL is /bin/bash - all that is just as per the default when cygwin was installed.

To ensure that this was not a matter of other interfering applications I installed a totally fresh Windows 10 and then (perhaps apart from virtualbox tools) only cygwin. For Cygwin I only install cgdb, gdb and g++, using the latest non-testing version of each.

But having done that I tried other versions og gdb & cgdb without joy.

This sort of behaviour in cgdb seems to have arisen some time in the last few weeks. If I back off to cygwin 3.1.1-1 I still see trouble but with 3.0.7-1 things appear to behave better for this. However with a larger real program I just got
(gdb) step
__wrap__Znam (sz=80000000) at /usr/src/debug/cygwin-3.0.7-1/winsup/cygwin/libstd
cxx_wrapper.cc:61
(gdb) s
/wip/cygport-git/gdb/gdb-8.2.1-1.x86_64/src/gdb-8.2.1/gdb/infrun.c:2723: intern
A problem internal to GDB has been detected,
further debugging may prove unreliable.

Since that may be a metter of using an old cygwin I will wait before I try to produce a version of that worth reporting!

But this looks like an underlying cygwin change upsetting gdb or cgdb???



[In some code of my own I was bitten because something has fairly recently changes and the Windows call GetConsoleScreenBufferInfo now succeeds in a cygwin program running under mintty while it used not to - I had used that test to judge whether I could or should use Windows-mode console handling on Unix-style... I sort of wonder if this is a variant on my problem there?]

 Arthur
--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]