#c# #visual-studio #debugging #breakpoints #visual-studio-debugging
#c# #visual-studio #отладка #точки останова #visual-studio-debugging
Вопрос:
Существует странная проблема, с которой я столкнулся при взломе кода. Структура, в которой это происходит для меня, выглядит следующим образом:
public partial class TopClass : SomeBaseClass
{
protected override void ShowDetail(ResultItem resultitem)
{
// Trying to break here without success
string test = "should be able to break here, shouldnt it?";
}
}
public partial class SomeBaseClass : ...
{
protected virtual void ExecutionIncomingHere()
{
// .. some stuff going on
ShowDetail(resItem);
}
protected virtual void ShowDetail(ResultItem resultitem)
{ // empty
}
}
Проблему, с которой я столкнулся, проще просто показать. Проверьте это:
VS прерывается только внутри моей базы (почему вообще)
Я предполагаю, что эта стрелка указывает, что в данный момент я нахожусь внутри этого метода. По почему я не могу отлаживать внутри ShowDetail()
? При переходе на F11
это продолжается внутри базового класса. Таким образом, мой TopClass
никогда не вводится пошагово.
Я пытался искать в Google как минимум 1 час без какого-либо успеха. Я надеюсь, что некоторые из вас смогут это прояснить.
Ценю вашу помощь, спасибо!
Комментарии:
1. Вы отлаживаете оптимизированный код?
2. Проверьте, включена ли у вас оптимизация кода. Вы можете найти это здесь: Свойства проекта -> Сборка, раздел Общие,
[ ] Optimize Code
.3. @SLaks Ох .. даже после нескольких часов раздражения я не проверил этот момент. Я сделаю это сейчас.
4. @PeterB База находится внутри другого проекта (библиотеки). Я предполагаю, что мой
TopClass
-проект — это тот, который я должен проверить!?5. Относится к проекту, которому принадлежит файл, в котором вы пытаетесь установить точку останова.
Ответ №1:
Похоже, у вас установлен флажок «Оптимизировать код». Чтобы удалить это, перейдите в свойства вашего проекта, затем нажмите на вкладку «Сборка» с левой стороны. Там вы должны увидеть флажок «Оптимизировать код». Если этот флажок установлен, снимите его. Это должно устранить вашу проблему.