You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The IoManager._get_responses_windows() method sometimes doesn't read the MI token.
To Reproduce
I'm using pygdbmi to drive arm-none-eabi-gdb. I'm issuing commands using a token:
0-gdb-set trace-commands on
1-gdb-set logging on
And so forth. The reply from GDB is
0^done
1^done
The problem is that when issuing the command 2-gdb-set print repeats 0, GDB replies with 2^done, but IoManager._get_responses_windows() only reads ^done. As I'm using the tokens to match the commands with the replies, my SW fails.
To really check that it's a problem with pygdbmi, I tried to directly call arm-none-eabi-gdb with the following script:
Looking at the gdb log, it's definitively printing the token:
~"+set print repeats 0\n"
2^done
(gdb)
Please complete the following information:
OS: Windows 10 64 bits
pygdbmi version (pip freeze output): 0.10.0.0
The text was updated successfully, but these errors were encountered:
leonardopsantos
changed the title
IoManager._get_responses_windows mangles token when reading form stdout
IoManager._get_responses_windows mangles token when reading from stdout
May 18, 2021
Describe the bug
The
IoManager._get_responses_windows()
method sometimes doesn't read the MI token.To Reproduce
I'm using pygdbmi to drive
arm-none-eabi-gdb
. I'm issuing commands using a token:And so forth. The reply from GDB is
The problem is that when issuing the command
2-gdb-set print repeats 0
, GDB replies with2^done
, butIoManager._get_responses_windows()
only reads^done
. As I'm using the tokens to match the commands with the replies, my SW fails.To really check that it's a problem with pygdbmi, I tried to directly call
arm-none-eabi-gdb
with the following script:The
gdb_stdout.txt
file isSo, clearly, GDB is indeed replying
2^done
I've enabled debugging in
IOManager
with and also added some more debug statements:And got:
Looking at the gdb log, it's definitively printing the token:
Please complete the following information:
pip freeze
output): 0.10.0.0The text was updated successfully, but these errors were encountered: