int i = 2; // что вы используете в качестве одноразовой строки, когда вам просто нужно что-то для точки останова? - PullRequest
8 голосов
/ 13 марта 2009

Всякий раз, когда я хочу, чтобы точка останова где-то, где нет ничего, что могло бы сломаться просто (внутри цикла и т. Д.), Я склонен автоматически опускать:

int i = 2;

Мне любопытно, что используют другие.

Ответы [ 22 ]

11 голосов
/ 13 марта 2009

Visual Studio позволяет разбить скобу.

9 голосов
/ 13 марта 2009

В .NET Framework (здесь используется C #):

System.Diagnostics.Debugger.Break();

Чтобы не вводить это каждый раз, просто создайте новый фрагмент кода для предпочитаемого языка:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>sddb</Title>
      <Shortcut>sddb</Shortcut>
      <Description>
        Code snippet for System.Diagnostics.Debugger.Break()
      </Description>
      <Author>Peter McG</Author>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp">
        <![CDATA[System.Diagnostics.Debugger.Break();$end$]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
7 голосов
/ 13 марта 2009

Тебе не нужен одноразовый код.
Вы можете поставить точку останова даже внутри объявления цикла for;
Переместите курсор на объявление цикла for и нажмите F9

alt text

7 голосов
/ 13 марта 2009

Если это C ++ на компьютере с архитектурой x86, я просто использую:

__asm int 3

и просто подождите, пока не сработает исключение. Даже не нужно запускаться в отладчике на Windows, или вы используете хороший ole DebugBreak ().

5 голосов
/ 13 марта 2009
i = i;

или любая переменная, определенная в области.

В C # / VS вы получаете предупреждение компилятора, так что это также хороший способ пометить код как не завершенный и т. Д.

4 голосов
/ 13 марта 2009
console.write("stop here")

В .net всегда используют именно эту строку, я понятия не имею, почему, просто годами.

3 голосов
/ 13 марта 2009

Какой смысл вставлять код для разрыва? Разве нет кода, который вы хотите взломать? Я просто ставлю точку останова на фактическую строку, о которой идет речь; моя IDE (Eclipse) останавливается перед выполнением этой строки. Кажется, достаточно просто.

Теперь, прежде чем я узнал об условных точках останова, я использовал добавление кода для проверки интересных условий, чтобы не прерывать каждую итерацию цикла или каждый вызов часто используемой функции.

3 голосов
/ 15 февраля 2010

В C / C ++ вы можете использовать no-op:

;

3 голосов
/ 13 марта 2009
asm { int3 }

Но я сумасшедший человек: D

3 голосов
/ 13 марта 2009
(void *)"Insert witty comment."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...