Точка останова в конце инструкции if в VS Code

#c #debugging #visual-studio-code #breakpoints #vscode-debugger

#c #отладка #visual-studio-code #точки останова #vscode-отладчик

Вопрос:

Как я могу поместить точку останова в конец инструкции if при отладке кода на C с использованием инструментов CMake и расширения C / C ?

Вот несколько примеров кода:

 int a = 2;
for (int i = 0; i < 10; i  ) {
  if (i < a) {
    b  = i;
  } // <-- I would like to break here and check the value of b, so I place breakpoint here
}
otherCode(b); // <-- this is where the debugger breaks
 

Теперь я сделаю хак, как int HACK_REMOVE = 0; в конце инструкции if, но это раздражает, когда приходится это делать. Есть ли другой способ прерывания в конце инструкции?

Комментарии:

1. в этой строке текста нет кода, поэтому нет адреса для прерывания, ваш взлом — единственный способ прервать в конце блока, вы можете создать #define BREAK int HACK=0 и создать пустую версию для сборки без отладки. Используйте его с BREAK;

2. Поскольку точки останова работают путем замены инструкции, это вряд ли будет возможно без вашего взлома.

3. Используйте условную точку останова в if-строке, когда ! (i < a).

4. Разве ты не можешь сломаться на закрывающей скобке? В любом случае вы могли бы включить точку останова b = i; , а затем выполнить один шаг, чтобы посмотреть, что произойдет b . Это может быть даже лучше, так как у вас будет представление «до и после».