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

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

int i = 2;

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

Ответы [ 22 ]

2 голосов
/ 18 марта 2009

Я использую это в C #:

If (Debugger.IsAttached)
    Debugger.Break();

Я выбрасываю IsAttached, чтобы, если его не удалить, он не влияет на производственный код.

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

В C # я разбиваю на конец скобки, а в VB.NET я ломаю на конец, если / Sub / Function / что угодно.

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

bool breakHere = true;

Самодокументируется!

1 голос
/ 18 марта 2009

В большинстве, если не во всех отладчиках Javascript, вы можете использовать

debugger;

оператор, который действует как точка останова.

1 голос
/ 13 марта 2009

asm volatile ("nop");

1 голос
/ 13 марта 2009
int x = 0;  
x = x;
1 голос
/ 13 марта 2009
int moo = 42;

Почему мы? Не знаю, это просто приходит на ум. Почему 42? Почему бы тебе не выбрать это!

1 голос
/ 13 марта 2009

Я делаю то же самое со значением int, но мой любимый -

int y=1;
1 голос
/ 13 марта 2009
Console.Writeline(e.Message);
0 голосов
/ 18 мая 2010

Я всегда делал что-то вроде #define, например (VC ++):

#define NOP __asm{nop}

Тогда это может быть что-то другое для разных платформ, например (НКА):

#define NOP asm("nop")

Если нет встроенного языка ассемблера, вы можете выдумать что-нибудь разумное:

/* insert directives to prevent inlining and optimization */
void nop() {} 

#define NOP (nop())

Это также может быть превращено в ничто для сборок, в которых вы не хотите:

#define NOP ((void)0)

Такого рода вещи могут происходить везде, где используются специфичные для платформы typedefs и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...