Вам необходимо добавить encoding='utf-8'
к вашему коду: return pd.read_csv('%s.csv' % a, sep='%s' % b, encoding='utf-8')
Установить несколько активных "переменных отображается", не перепечатывая каждый из display i
, display s[i]
, и т.д. каждый раз Вы перезапускаете GDB, используете GDB "консервированная последовательность команды".
Например, добавьте это к Вашему ~/.gdbinit
:
define disp_vars
disp i
disp sign
disp val
disp exp
disp s[i]
end
Теперь можно добавить все дисплеи сразу путем ввода disp_vars
при подсказке GDB.
Используемый русский язык дал правильное решение, но для тех, которые хотят, видят, что это использовало в примере, посмотрите ниже. Если Вы не уверены, хотите ли Вы принять на себя обязательство помещать .gdbinit в свой корневой каталог, можно также поместить его в каталог, от которого Вы выполняете программу экспериментировать.
$ gcc -g atof_ex4.2.c
$ gdb ./a.out
(gdb) b 30
Breakpoint 1 at 0x1907: file atof_ex4.2.c, line 30.
(gdb) h user-defined
List of commands:
disp_vars -- User-defined
(gdb) disp_vars #this will enable the user defined canned sequence (but I haven't done run yet! So I'll this actually doesn't work yet.)
No symbol "i" in current context.
(gdb) r
Starting program: a.out
Breakpoint 1, atof (s=0xbffff028 "123.45e-6") at atof_ex4.2.c:30
30 if(s[i] != '\0')
(gdb) s # No disp_vars output yet because I have to do it AFTER 'run' command
32 if(s[i] == 'e' || s[i] == 'E')
(gdb) disp_vars # Now it will work ;)
(gdb) s
35 sign = (s[i] == '-') ? -1 : 1;
5: s[i] = 45 '-'
4: exp = 14
3: val = 123.45
2: sign = 1
1: i = 7
Конечно, 'r' для выполненного', для шага, 'b' для повреждения и т.д. Я также опустил некоторый вывод. Заметьте, что я должен был ввести команду 'disp_vars' снова после 'выполненный'. Спасибо Используемый русский язык.