Как добавить условную точку останова в Visual C++

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

Также обратите внимание, что когда вы обновляете страницу, она повторно отправляет форму, где, если вы нажмете на адресную строку и нажмете Enter, вы получите чистый лист!

Пожалуйста, посмотрите на сессии, это решит ваши выпуск: PHP Manual

5
задан Mihai Limbășan 22 March 2009 в 22:04
поделиться

3 ответа

используйте DebugBreak (); функция:

bool my_test(UIDList test_list) {
    foo(test_list);
    if (bar(test_list) /* or whatever check :) */) // I have a breakpoint here, but only want it to trigger if test_list.Length() > 0
        DebugBreak();
    }
    print(test_list);
}

Или можно всегда использовать, утверждают (выражение)

bool my_test(UIDList test_list) {
    foo(test_list);
    bar(test_list);
    assert(test_list.Length() > 0); // will break here
    print(test_list);
}
9
ответ дан 18 December 2019 в 06:52
поделиться

У VS есть несколько механизмов микрооценки - в переменных окнах наблюдения, непосредственном окне, условиях точки останова и т. Д. Я мог бы никогда не находите достойную документацию по ним. Насколько я могу судить, они требовательны к методам, которые они хотят вызывать, , но они также нечувствительны к ограничениям доступа.
Таким образом, вы, вероятно, можете перефразировать ваше условие из

test_list.Length() > 0  

во что-то вроде

test_list.m_nLength > 0

(или какова бы ни была ваша личная переменная длины).

(EDIT) Только что нашел эту страницу msdn , объясняющую, что выражает отладчик может и не может справиться. Итак, во-первых, действительно -

'Отладчик может получить доступ ко всем классам участники независимо от контроля доступа. Вы можете изучить любой объект класса член, включая базовые классы и встроенные объекты-члены. '

И, во-вторых, мое предположение о невозможности оценить' Length () '- возможно, оно было встроено:

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

10
ответ дан 18 December 2019 в 06:52
поделиться

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


bool my_test(UIDList test_list) {
 foo(test_list);
 int i = test_list.Length();
 bar(test_list); // I have a breakpoint here, but only want it to trigger if test_list.Length() > 0
 print(test_list);
}

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

4
ответ дан 18 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: