Запитання з тегом «segmentation-fault»

Помилки сегментації виникають при доступі до пам'яті, яка не належить вашому процесу. Використовуйте цей тег разом із тегом, що вказує мову та тегом, що вказує на операційну систему. Помилки сегментації, як правило, є результатом операції перенаправлення зі змінними вказівника (найчастіше містять недійсну адресу) або переповнення буфера. Першопричина недійсного значення покажчика може бути далеко від місця, що генерує помилку сегментації.


17
Чому я отримую помилку сегментації під час запису до "char * s", ініціалізованого рядковим буквалом, але не "char s []"?
Наступний код отримує seg fault у рядку 2: char *str = "string"; str[0] = 'z'; // could be also written as *str = 'z' printf("%s\n", str); Хоча це працює чудово: char str[] = "string"; str[0] = 'z'; printf("%s\n", str); Тестували з MSVC та GCC.


23
Фатальний сигнал 11 для Android (SIGSEGV) на 0x636f7d89 (код = 1). Як це можна відстежити?
Я читав інші публікації про відстеження причин отримання SIGSEGVдодатка для Android. Я планую шукати додаток для можливих NullPointers, пов’язаних із використанням Canvas, але мої SIGSEGVщоразу піднімають іншу адресу пам'яті. Плюс я бачив code=1і code=2. Якби адреса пам'яті була 0x00000000, я б підказав, що це NullPointer. Останній я отримав code=2: A/libc(4969): …

30
Команда не вдалася через сигнал: Помилка сегментації: 11
Я отримую помилку ... Команда не вдалася через сигнал: Помилка сегментації: 11 ... при спробі скласти мою програму Swift. Я використовую Xcode 6.1, намагаюся створити для iPhone 5 на iOS 8.1. Мій код import UIKit class ViewController: UIViewController { @IBOutlet weak var username: UITextField! @IBAction func signIn(sender: AnyObject) { PFUser.logInWithUsernameInBackground(username.text, …


5
Помилка сегментації на великих розмірах масиву
Наступний код дає мені помилку сегментації під час роботи на 2Gb машині, але працює на 4 Гб. int main() { int c[1000000]; cout << "done\n"; return 0; } Розмір масиву - всього 4 Мб. Чи є обмеження на розмір масиву, який можна використовувати в c ++?

3
Чому цей код є стандартним для 64-розрядної архітектури, але добре працює у 32-розрядному?
Я натрапив на таку загадку C: Питання: Чому на IA-64 наведена нижче програма, але вона працює чудово на IA-32? int main() { int* p; p = (int*)malloc(sizeof(int)); *p = 10; return 0; } Я знаю, що розмір int64-бітної машини може бути не такий, як розмір вказівника ( intможе бути 32 …

6
Виправлення помилок сегментації в C ++
Я пишу крос-платформну програму C ++ для Windows та Unix. На стороні вікна код буде скомпільований і не виконає жодних проблем. На стороні Unix він буде скомпільований, однак, коли я намагаюся його запустити, я отримую помилку сегментації. Я спочатку здогадуюсь, що є проблема з покажчиками. Які хороші методології можна знайти …


4
Як я можу зловити SIGSEGV (помилка сегментації) і отримати трасування стека під JNI на Android?
Я переношу проект до нового Android Native Development Kit (тобто JNI), і я хотів би перехопити SIGSEGV, якщо це відбудеться (можливо, також SIGILL, SIGABRT, SIGFPE), щоб представити приємне діалогове вікно звітності про збої, а не (або раніше), що відбувається зараз: негайна безцеремонна смерть процесу і, можливо, якась спроба ОС перезапустити …

7
Що спричиняє помилку сегментації Python?
Я впроваджую алгоритм пошуку графіків сильного підключеного компонента (SCC) в Python. Програма чудово працює на невеликому наборі даних, але коли я запускаю її на надвеликому графіку (понад 800 000 вузлів), у ньому написано "Помилка сегментації". Що може бути причиною цього? Дякую! Додаткова інформація: Спочатку я отримав цю помилку під час …

5
Як виявити помилку сегментації в Linux?
Мені потрібно виявити помилку сегментації в операціях очищення бібліотеки сторонніх виробників. Це трапляється іноді безпосередньо перед виходом моєї програми, і я не можу визначити справжню причину цього. У програмуванні Windows я міг зробити це за допомогою __try - __catch. Чи існує крос-платформенний або специфічний для платформи спосіб зробити те саме? …

2
Скомпілюйте та запустіть програму без main () в C
Я намагаюся скомпілювати та запустити наступну програму без main()функції в C. Я скомпілював свою програму, використовуючи наступну команду. gcc -nostartfiles nomain.c І компілятор дає попередження /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400340 Без проблем. тоді я запустив виконуваний файл (a.out), обидва printfоператори успішно надрукували, а потім отримали …

1
gcc-10.0.1
У мене є пакет R зі скомпільованим кодом C, який був досить стабільним протягом досить тривалого часу і часто перевіряється на широкому спектрі платформ і компіляторів (windows / osx / debian / fedora gcc / clang). Зовсім недавно була додана нова платформа для тестування пакету: Logs from checks with gcc …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.