Многопоточная отладка Eclipse CDT не -оптимальна -как можно запускать потоки исключительно?

Я знаю ответ на этот вопрос, я помещаю его здесь, чтобы другие могли его увидеть

Если вы используете eclipse CDT, вы, вероятно, понимаете, что eclipse — это не отладчик, это просто приложение -конец, особенно GDB. Таким образом, при отладке программ на C++ вы на самом деле просто используете GDB более удобным способом. Если вам когда-нибудь приходилось отлаживать многопоточную программу в eclipse CDT, вы поймете, что все быстро становится беспокойным, потому что, когда вы нажимаете точку останова, все потоки останавливаются, а когда кто-то пытается выполнить одну строку в определенном потоке, он также запускается. остальные нити. Чтобы это работало правильно, потоки должны иметь возможность запускаться произвольно и исключительно -, чтобы, когда программист выполняет одну строку, он выполнял только конкретный поток.

Итак, по умолчанию настройки gdb по умолчанию оставляют "блокировку планировщика -" выключенной. Если вы отлаживаете многопоточные приложения, вы поймете, что это должно быть включено в GDB для достижения желаемого поведения. Как запустить эту команду:

set scheduler-locking on

в GDB в рамках eclipse CDT?

16
задан Adam Miller 11 February 2013 в 17:01
поделиться