0 / 0 / 0
Регистрация: 12.11.2019
Сообщений: 8
|
||||||
1 | ||||||
NASM Открытие файла на чтение завершается ошибкой22.02.2020, 17:41. Показов 2440. Ответов 10
Нужно открыть текстовый файл для чтения, компилирует нормально при запуске завершается с ошибкой.
Как исправить?
0
|
22.02.2020, 17:41 | |
Ответы с готовыми решениями:
10
Исходник успешно компилируется в Ubuntu, но компиляция в Debian завершается ошибкой Чтение бинарного файла на втором проходе цикла завершается с ошибкой Импорт данных из Excel-файла завершается с ошибкой GetMailslotInfo завершается с ошибкой |
Модератор
|
||||||
22.02.2020, 17:59 | 2 | |||||
А вы уверены, что выставляя режим открытия
Добавлено через 1 минуту И почему после открытия файла не проверяете успешность этого открытия, а переходите к обработке файла?
0
|
0 / 0 / 0
Регистрация: 12.11.2019
Сообщений: 8
|
||||||
22.02.2020, 18:16 [ТС] | 3 | |||||
Режим вроде как изменил,проверку не знаю как делать если скинете код буду благодарен.
0
|
Модератор
|
|||||||||||
22.02.2020, 18:46 | 4 | ||||||||||
Не по теме: Я совсем не умею программировать под Linux. Только в общих чертах представляю. После изменения режима - каков результат? Проверка успеха открытия файла - думаю, что есть смысл читать описание функции открытия файла. Как-то же такое должно быть возможно. Для аналогичной функции - в DOS результат передаётся через флаг переноса Кликните здесь для просмотра всего текста
- в Windows описатель (дескриптор) файла при ошибке равен какой-то известной константе INVALID_HANDLE_VALUE Кликните здесь для просмотра всего текста
- в Linux - я не знаю
0
|
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
|
|
22.02.2020, 18:52 | 5 |
могу ошибаться, но что это за цифро-буквенная комбинация значит 2000o..
если восьмеричная система счисления, то почему именно она взята??
0
|
Модератор
|
||||||||||||||||
22.02.2020, 19:17 | 6 | |||||||||||||||
У каждой ошибки, кроме автора, есть адрес, имя и другие атрибуты.
Код
[0804808b] open(0x74786574, O_RDWR) = -1 EFAULT (Bad address) [080480a7] read(-14, 0x2, 200) = -1 EBADF (Bad file descriptor) [080480b0] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xfffffff7} --- [????????] +++ killed by SIGSEGV (core dumped) +++ Открыть файл, считать из него что-то? Куда считать? Для чего
dragalur! Почитать в общих чертах о распределении параметров системных вызовов linux по регистрам Вы можете, выдав в терминале команду
https://syscalls.kernelgrok.com/
0
|
Модератор
|
|
22.02.2020, 19:31 | 7 |
Описание open
http://linuxdoc.ru/open-creat.html http://syscalls.kernelgrok.com/
0
|
0 / 0 / 0
Регистрация: 12.11.2019
Сообщений: 8
|
||||||
22.02.2020, 20:05 [ТС] | 9 | |||||
Внесу поправки и коментарии в код. Пишу в SASM. Нужно открыть файл и вывести его текст в консоль.При запуске программа завершается аварийно , что SASM не нравится он увы не показывает.Код написан по примеру из методички лабораторной работы. Познание линукса и ассемблера у меня не велики.
0
|
Модератор
|
|
22.02.2020, 20:34 | 10 |
Выполните по шагам. Увидите и дескриптор открытого файла (т.е. он вообще открылся или не найден)
Кроме того - куда вы читаете из файла? Прочтите перечень параметров для каждой из функций в справке http://syscalls.kernelgrok.com/ Вы не те параметры даёте функции чтения - read. Вы не завершаете программу передачей управления операционке.
1
|
Модератор
|
|
23.02.2020, 08:49 | 11 |
Можно ещё почитать прикреплённую тему в нашем подразделе
Системные вызовы в Linux
0
|
23.02.2020, 08:49 | |
23.02.2020, 08:49 | |
Помогаю со студенческими работами здесь
11
Программа завершается с ошибкой Выборка из БД по ID завершается с ошибкой Запуск джоба завершается с ошибкой Собранное приложение завершается с ошибкой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |