How to debug with gdbtui and utf-8 source files?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

How to debug with gdbtui and utf-8 source files?

Sourceware - gdb list mailing list
I have:

- a terminal set to UTF-8 in an OS where UTF-8 locales are installed: Mate Terminal 1.12.1 (does not matter, as long as its character encoding is utf-8)

- a C source file which contains (both) utf-8 comments and utf-8 strings

- gdbtui:

  $  gdbtui --version
    GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1

The program compiles and works flawlessly, with its output being correctly shown in the terminal.

gdbtui, on the other hand, does not show the comments correctly, making them hard to read and also braking the size and making a few lines occupy two screenlines. This makes strange things happen when we step-by-step through these lines.

For example, instead of showing:

"// Não temos nenhum nó, garante não ter um falso ponteiro"

in the source window, gdbtui shows:

"// NM-CM-#o temos nenhum nM-CM-3, garante nM-CM-#o ter um falso ponteiro"

The environment is correctly set:

  $  set | grep -e 'LANG|LC_ALL'
    LANG=pt_BR.UTF-8
    LANGUAGE=pt_BR.UTF-8:en_GB:en
    LC_ALL=pt_BR.UTF-8

How can I make gdbtui work correctly? If no answer exist for this question, I may help filling a bug report about it. I will need a bit of help with that, please offer, if that is possible.
Reply | Threaded
Open this post in threaded view
|

Re: How to debug with gdbtui and utf-8 source files?

Simon Marchi
On 2017-10-18 13:46, Dedeco Balaco Baco via gdb wrote:

> I have:
>
> - a terminal set to UTF-8 in an OS where UTF-8 locales are installed:
> Mate Terminal 1.12.1 (does not matter, as long as its character
> encoding is utf-8)
>
> - a C source file which contains (both) utf-8 comments and utf-8
> strings
>
> - gdbtui:
>
>   $  gdbtui --version
>     GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
>
> The program compiles and works flawlessly, with its output being
> correctly shown in the terminal.
>
> gdbtui, on the other hand, does not show the comments correctly,
> making them hard to read and also braking the size and making a few
> lines occupy two screenlines. This makes strange things happen when we
> step-by-step through these lines.
>
> For example, instead of showing:
>
> "// Não temos nenhum nó, garante não ter um falso ponteiro"
>
> in the source window, gdbtui shows:
>
> "// NM-CM-#o temos nenhum nM-CM-3, garante nM-CM-#o ter um falso
> ponteiro"
>
> The environment is correctly set:
>
>   $  set | grep -e 'LANG|LC_ALL'
>     LANG=pt_BR.UTF-8
>     LANGUAGE=pt_BR.UTF-8:en_GB:en
>     LC_ALL=pt_BR.UTF-8
>
> How can I make gdbtui work correctly? If no answer exist for this
> question, I may help filling a bug report about it. I will need a bit
> of help with that, please offer, if that is possible.

As discussed on IRC, this was likely fixed with this commit

     Allow linking GDB with ncursesw
     5007d765ae09c10c7f3b18bb16841b9d2d59e181
     https://sourceware.org/ml/gdb-patches/2017-09/msg00356.html

Simon
Reply | Threaded
Open this post in threaded view
|

Re: How to debug with gdbtui and utf-8 source files?

Sourceware - gdb list mailing list
Em 18-10-2017 16:36, Simon Marchi escreveu:
 > On 2017-10-18 13:46, Dedeco Balaco Baco via gdb wrote:
 >> I have:
 >>
 >> - a terminal set to UTF-8 in an OS where UTF-8 locales are installed:
 >> Mate Terminal 1.12.1 (does not matter, as long as its character
 >> encoding is utf-8)
 >>
 >> - a C source file which contains (both) utf-8 comments and utf-8 strings
 >>
 >> - gdbtui:
 >>
 >>   $  gdbtui --version
 >>     GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
 >>
 >> The program compiles and works flawlessly, with its output being
 >> correctly shown in the terminal.
 >>
 >> gdbtui, on the other hand, does not show the comments correctly,
 >> making them hard to read and also braking the size and making a few
 >> lines occupy two screenlines. This makes strange things happen when we
 >> step-by-step through these lines.
 >>
 >> For example, instead of showing:
 >>
 >> "// Não temos nenhum nó, garante não ter um falso ponteiro"
 >>
 >> in the source window, gdbtui shows:
 >>
 >> "// NM-CM-#o temos nenhum nM-CM-3, garante nM-CM-#o ter um falso
 >> ponteiro"
 >>
 >> The environment is correctly set:
 >>
 >>   $  set | grep -e 'LANG|LC_ALL'
 >>     LANG=pt_BR.UTF-8
 >>     LANGUAGE=pt_BR.UTF-8:en_GB:en
 >>     LC_ALL=pt_BR.UTF-8
 >>
 >> How can I make gdbtui work correctly? If no answer exist for this
 >> question, I may help filling a bug report about it. I will need a bit
 >> of help with that, please offer, if that is possible.
 >
 > As discussed on IRC, this was likely fixed with this commit
 >
 >      Allow linking GDB with ncursesw
 >      5007d765ae09c10c7f3b18bb16841b9d2d59e181
 >      https://sourceware.org/ml/gdb-patches/2017-09/msg00356.html
 >

Ok, I will try that and report in this thread if it worked or not.