Почему мои контрольные точки не работают?

попробуйте этот метод расширения

  public static class TextBoxExt
{
    private static readonly FieldInfo _field;
    private static readonly PropertyInfo _prop;

    static TextBoxExt()
    {
        Type type = typeof(Control);
        _field = type.GetField("text", BindingFlags.Instance | BindingFlags.NonPublic);
        _prop = type.GetProperty("WindowText", BindingFlags.Instance | BindingFlags.NonPublic);
    }

    public static void SetText(this TextBox box, string text)
    {
        _field.SetValue(box, text);
        _prop.SetValue(box, text, null);
    }
}

вы можете использовать textbox.SetText ("...") для изменения текста, и событие TextChanged не будет запущено.

96
задан Binarian 4 June 2014 в 10:25
поделиться

14 ответов

В первую очередь, я согласовываю 100% с более ранними людьми, которые сказали что поворот ПРОЧЬ Load Symbols Lazily.

у меня есть еще две вещи добавить.

(Мое первое предложение звучит очевидным, но в первый раз кто-то предложил это мне, моя реакция продвинулась эти строки: "продвиньтесь, Вы действительно думаете, что я не знал бы лучше......, о".)

  1. Удостоверяются, что Вы случайно не установили "Активную Конфигурацию сборки" для "Выпущения".

  2. Под "Целями" в графическом древовидном дисплее Вашего проекта, щелкните правой кнопкой по своей Цели и действительно "Получите Информацию". Ищите свойство, названное, "Генерируют Отладочные символы" (или подобный) и удостоверяются, что это ПРОВЕРЯЕТСЯ (иначе НА). Кроме того, Вы могли бы попытаться найти (также в Цели>>, Получают Информацию), свойство, названное "Формат Отладочной информации" и установка его для "Затмевания с dsym файлом".

существует много других свойств под Целью>>, Получают Информацию, которая могла бы влиять на Вас. Ищите вещи как оптимизация или сжатие кода и выключите тот материал (я предполагаю, что Вы работаете в режиме отладки, так, чтобы это не было плохим советом). Кроме того, ищите вещи как разделение символов и удостоверьтесь, что это также ВЫКЛЮЧЕНО. Например, "Полоса Связанный продукт" должна быть установлена на "Нет" для Целевого объекта отладки.

139
ответ дан pestophagous 4 June 2014 в 10:25
поделиться

Я не выполнил в XCode немного, но я рекомендую отключить "Zerolink" и "Символы Загрузки Лениво"; это решит большинство проблем. Zerolink является отвращением так или иначе.

0
ответ дан logancautrell 4 June 2014 в 10:25
поделиться

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

0
ответ дан AlanKley 4 June 2014 в 10:25
поделиться

Перейдите к предпочтениям Отладки XCode. Удостоверьтесь, что "Символы загрузки лениво" НЕ выбран.

25
ответ дан AlanKley 4 June 2014 в 10:25
поделиться

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

Также удостоверяются, что "Символы загрузки лениво" не выбраны в предпочтениях отладки.

(Относится к Xcode 3.1, не уверенному в прошлом/будущих версиях)

0
ответ дан Scott Swezey 4 June 2014 в 10:25
поделиться

Кажется, существует 3 состояния для точек останова в XCode. Если Вы нажмете на них, то они пройдут различные настройки. Темно-синий включен, grayed отключен, и я иногда видел бледно-синий, который потребовал, чтобы я нажал на точку останова снова, чтобы заставить это переходить к темно-синему цвету.

Кроме этого удостоверяются, что Вы запускаете его с командой отладки не команда выполнения. Можно сделать это или совершающей нападки опцией + команда + возврат или Движением (отладка) опция из меню выполнения.

0
ответ дан AlBlue 4 June 2014 в 10:25
поделиться

У меня есть много проблем с точками останова в XCode (2.4.1). Я использую проект, который просто содержит другие проекты (как Решение в Visual Studio). Я иногда нахожу, что точки останова не работают вообще, если нет по крайней мере один набор точки останова в стартовом проекте (т.е. тот, содержащий точку входа для моего кода). Если единственные точки останова находятся на "более низком уровне" проекты, они просто проигнорированы.

также кажется, как будто XCode только обрабатывает операции точки останова правильно, если Вы действуете на точку останова, когда Вы находитесь в проекте, который содержит исходную строку точка останова на.

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

2
ответ дан Charles Anderson 4 June 2014 в 10:25
поделиться

У меня были свои точки останова не, работают, и затем сделанная Сборка / Чистит Все Цели для получения их работающий снова.

2
ответ дан 4 June 2014 в 10:25
поделиться

Также убедитесь, что на устройстве не установлен дистрибутив приложения AppStore.

0
ответ дан 24 November 2019 в 05:09
поделиться

У меня была такая же проблема (снова). После тройной проверки «Лениво загружать символы», а также флагов извлечения и отладки информации я сделал следующее:

  1. выйдите из Xcode
  2. , откройте окно терминала и перейдите в каталог проекта
  3. , перейдите в каталог .xcodeproj
  4. удалить все, кроме файла .pbxproj (у меня были frank.mode1v3 и frank.pbxuser)

Вы можете выполнить ту же задачу в Finder, щелкнув правой кнопкой / опцией в пакете .xcodeproj и выбрав «Показать содержимое пакета».

Когда я перезапустил Xcode, все мои окна были сброшены в положение по умолчанию и т. Д., Но точки останова работали!

15
ответ дан 24 November 2019 в 05:09
поделиться

Еще одна вещь, которую необходимо проверить, - это то, что если у вас есть файл plist «Права» для вашего режима отладки (возможно, потому, что вы делаете что-то с Keychain), убедитесь, что в файле plist есть " get-task-allow "= строка ДА. Без него отладка и ведение журнала будут нарушены.

0
ответ дан 24 November 2019 в 05:09
поделиться

См. Это сообщение: Точки останова не работают в Xcode? . Возможно, вы нажимаете «Выполнить» вместо «Отладка», и в этом случае ваша программа не запускается с помощью gdb, и в этом случае вы не можете ожидать, что точки останова сработают!

8
ответ дан 24 November 2019 в 05:09
поделиться

У меня есть Xcode 3.2.3 SDK 4.1. Точки останова не будут работать случайным образом. Я обнаружил, что если вы очистите сборку и используете команду touch под сборкой, они снова заработают.

0
ответ дан 24 November 2019 в 05:09
поделиться

В моем случае я переопределял существующую сборку App Store со своей сборкой. Я удалил то же и его работу теперь.

0
ответ дан 24 November 2019 в 05:09
поделиться
Другие вопросы по тегам:

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