Более ранний вопрос объяснил, что на x86 размер наблюдаемых объектов ограничен регистрами отладки. здесь. Как и ожидалось, я могу "смотреть" двойную переменную. Но я не могу наблюдать за двойным сообщением, например
watch pObject->dPrice
производит
Hardware watchpoint 1: pObject->dPrice
Но когда вы пытаетесь продолжить выполнение, он говорит
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.
хотя это единственная точка останова/точки наблюдения.
Мне любопытно, почему это так, но что еще более важно, есть ли способ обойти это? Согласно документам gdb, он может использовать точки наблюдения программного обеспечения, если он не может использовать аппаратное обеспечение. В этом случае он не пытается использовать контрольную точку программного обеспечения - есть ли способ заставить его сделать это?