Возможно ли вызвать сбой сегмента, даже если доступный адрес доступен? - PullRequest
0 голосов
/ 08 апреля 2020

Я сталкиваюсь с удивительной ошибкой сегментации, когда отлаживаю cra sh. Он показывает ошибку сегментации в строке, которая разыменовывается указателем char *. Но когда я использую GDB для разыменования указателя, от GDB не сообщается об ошибке.

Моя платформа - linux. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Но когда я использую gdb для разыменования указателя, от gdb не сообщается об ошибке.

Этот ответ объясняет, почему это происходит. В этом нет ничего «удивительного».

0 голосов
/ 08 апреля 2020

ответ - нет, это невозможно.

, но чтобы узнать почему, установите valgrind и запустите

valgrind ./yourexe

, обычно он сообщает вам о большинстве ошибок, которые вы пропустили. не забудьте скомпилировать ваш двоичный файл, используя g cc -g без параметров -O, чтобы вы могли видеть номера строк исходного кода.

...