Lazarus ошибка отладчика ой отладчик попал

Модератор: Модераторы

Ой, отладчик попал…. Astra Linux, Lazarus 2.2.4 extern so

День добрый!
Не могу понять почему чудит Лазарус, при попытке добавить в приложение вызов с внешней библиотеки, при запуске отладки выдается сообщение что

Ой, отладчик попал в состояние ошибки
Команда GDB:
«-exec-run»
не возвратила никакого результата.

проявляется в самом простом проекте
код библиотеки

Код: Выделить всё
library hello;

{$mode objfpc}{$H+}

uses
  Classes
  { you can add units after this };

function Hello: string; cdecl;
begin
  result := 'Hello!';
end;

exports
  Hello;

begin
end.   

код приложения

Код: Выделить всё
unit helloFrm;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs;

type
  TForm1 = class(TForm)
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

function Hello(): string; cdecl; external 'libhello.so';

end. 

фактически есть только импорт функции, все остальное убрано. Если его закоментарить — запускается
Lazarus

Код: Выделить всё
Lazarus 2.2.4 (rev Unversioned directory) FPC 3.2.2 x86_64-linux-gtk2
/usr/bin/fpc
-MObjFPC
-Scghi
-Cg
-O1
-g
-gl
-l
-vewnhibq
-Filib/x86_64-linux
-Fu/usr/share/lazarus/2.2.4/lcl/units/x86_64-linux/gtk2
-Fu/usr/share/lazarus/2.2.4/lcl/units/x86_64-linux
-Fu/usr/share/lazarus/2.2.4/components/freetype/lib/x86_64-linux
-Fu/usr/share/lazarus/2.2.4/components/lazutils/lib/x86_64-linux
-Fu/usr/share/lazarus/2.2.4/packager/units/x86_64-linux
-Fu.
-FUlib/x86_64-linux
-FE.
-ohello_prg
-dLCL
-dLCLgtk2

Linux

Код: Выделить всё
Linux rev-orel 5.4.0-71-generic #astra33+ci2-Ubuntu SMP Mon Jun 21 22:55:15 UTC 2021 x86_64 GNU/Linux

В виндовс все прекрасно добавляется и запускается

GreyCrazyWolf
незнакомец
 
Сообщения: 3
Зарегистрирован: 02.03.2023 15:23:57

Re: Ой, отладчик попал…. Astra Linux, Lazarus 2.2.4 extern

Сообщение BlackShark » 17.03.2023 10:35:39

Попробуй дебагер fpDebug, правда ранее он не поддерживал отладку библиотек из хостового приложения, сейчас не в курсе как с этим обстоят дела, но автор писал что планирует добавить. Как раз вышла версия Lazarus 2.2.6, там много изменений по fpDebug.

Аватара пользователя
BlackShark
новенький
 
Сообщения: 41
Зарегистрирован: 20.05.2019 12:52:15
  • Профиль
  • Сайт


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

Да так, от скуки захожу.

141 / 120 / 44

Регистрация: 25.06.2017

Сообщений: 360

Записей в блоге: 3

1

Ошибка отладчика

01.10.2020, 19:14. Показов 3509. Ответов 2


Студворк — интернет-сервис помощи студентам

Всем привет, у меня после компиляции появляется ошибка, хотя проект компилируется и после запускается. Смысл ошибки я не понимаю. Кто может подсказать какими путями можно исправить?

Миниатюры

Ошибка отладчика
 



0



пофигист широкого профиля

4658 / 3093 / 854

Регистрация: 15.07.2013

Сообщений: 17,841

02.10.2020, 02:30

2

Лучший ответ Сообщение было отмечено SkyLion27 как решение

Решение

Редактор, компилятор и отладчик — это те самые, которые всегда «соображают на троих». Иногда возникают нестыковки между ними. Особенно часто проблемы вызывают именно точки остановки. Ведь в редакторе мы ставим точку останова на текстовой строке кода. А после компиляции этой строки уже нет. Есть только бинарный код для процессора. И отладчик порой сбивается. В Дельфи это ранее часто происходило из-за например комментариев в тексте программы.



1



Да так, от скуки захожу.

141 / 120 / 44

Регистрация: 25.06.2017

Сообщений: 360

Записей в блоге: 3

02.10.2020, 22:20

 [ТС]

3

Проблему решил пересозданием проекта.



0



Windows Diary

Одобрено: ASR Pro

  • 1. Загрузите ASR Pro и установите его на свой компьютер.
  • 2. Запустите программу и нажмите «Сканировать»
  • 3. Нажмите «Восстановить», чтобы устранить обнаруженные проблемы.
  • Повысьте производительность вашего компьютера с помощью этой простой загрузки. г.

    Вам следует прочитать эти идеи по исправлению, если самый важный отладчик ввел на вашем компьютере PIN-код состояния ошибки.

    <дел><дел><дел><дел>

    Когда я запускаю программу на Lazarus с F7 (ввод) или F8 (ввод), то компилируется, эта программа запускается, но через некоторое время это выглядит как ошибка:
    “Ошибка отладчика

    < p> Извините, отладчик зарегистрировал состояние ошибки.
    Сохраните свою работу!”
    Пока F9 работает нормально.
    Что я могу сделать?

    <дел><р>«Последнее изменение: 7 декабря 2012 г., 12:15:18, автор — Panoss»

    ой, как правило, отладчик ввел состояние ошибки

    Связанный

    Многочисленные 32-разрядные версии Windows, Lazarus v1.8.4 и FPC 3.0.4.

    <время><а> <дел><дел><дел><дел>

    Возможных причин много:

    Если это происходит при запуске приложения: попробуйте найти форум по работе с Bitdefender и брандмауэром comodo.

    В разделе “Очень сложные случаи” включите принтер или измените просрочку на другой принтер. Слышал несколько случайных неподтвержденных ответов, некоторые драйверы принтеров вызывают небольшой сбой GDB (Lazarus использует GDB)

    Одобрено: ASR Pro

    ASR Pro — самый популярный и эффективный в мире инструмент для ремонта ПК. Миллионы людей доверяют ему обеспечение быстрой, бесперебойной и безошибочной работы своих систем. Благодаря простому пользовательскому интерфейсу и мощному механизму сканирования ASR Pro быстро находит и устраняет широкий спектр проблем Windows — от нестабильности системы и проблем с безопасностью до проблем с управлением памятью и производительностью.

  • 1. Загрузите ASR Pro и установите его на свой компьютер.
  • 2. Запустите программу и нажмите «Сканировать»
  • 3. Нажмите «Восстановить», чтобы устранить обнаруженные проблемы.
  • Определенно:

    oops, отладчик перешел в нерабочее состояние

    Updatepre-Lazarus 0.9.30.2

    Перейдите по ссылке на этот форум, вы найдете имейте это в виду на Sourceforge .

    Многие ошибки были исправлены, и определенно выходит обновление GDB (win).
    Позже проверил, что так, модернизировать конфиг, на который ссылается мысль выложить в GDB. (В Linux убедитесь, что у вас установлена ​​GBB 7.2 или более крупная версия / на Mac серьезно 6.3.50)
    См. http://wiki.lazarus.freepascal.org/Debugger_Setup

    Для получения дополнительной помощи, пожалуйста получить важную информацию, описанную здесь:
    http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Create_a_new_Report.

    (Вы можете пропустить перекомпиляцию с любым родственным нашим определениям)

    < /дел>

    <дел>

    Связанный

    <время>

    АвторТема: Ошибка отладчика Извините, отладчик выдал ошибку (4110 операций чтения)

    Если я запускаю медиа в Lazarus с F7 (ввод) или F8 (ввод), он компилируется, программа запускается, хотя каждая ошибка отображается мгновенно:
    “Отладчик отключен

    Извините, все отладчики достигли повторения ошибки
    Сохраните свою работу с помощью! “
    с обычным расширением F9.
    Что я могу сделать?

    <р>«Последнее изменение: 2 декабря 2011 г., 12:15:18, сделано Panoss»

    Если вы проходите мимо своего дома в случаях, когда запускается приложение магазина: этот форум предназначен для битдефендера, связанного с брандмауэром comodo.

    В очень редких случаях включите этот принтер или измените настройки по умолчанию, чтобы найти другой принтер. Я читал или слышал случайные / неподтвержденные сообщения о том, что некоторые драйверы принтера вызывают сбой GDB в какой-то степени (Lazarus использует GDB)

    Следуйте инструкциям по загрузке на этом форуме, вы должны найти Sourceforge.

    Исправлены многие глюки и добавлена ​​обновленная GDB (Win).
    Итак, следуя за обновлением, проверьте тип конфига, указывающий – обновленный GDB. (В Linux убедитесь, что у кого-то установлена ​​версия GBB 7.2 или выше. На Apple PC доступна только версия 6.3.50)
    См. http://wiki.lazarus.freepascal.org/Debugger_Setup

    Некоторое время назад я установил Lazarus (версия 1.4.4) на мини-Mac (OSX 10.10 Yosemite), а также отладчик GDB. Когда я компилирую и запускаю идеальное простое приложение — например, форму списания — все, что вы знаете, в порядке. К сожалению, когда я закрываю работающее приложение, я получаю каждое сообщение

    <цитата>

    GDB генерирует встроенную ошибку: нажмите OK, чтобы продолжить. отлаживать. Это может быть НЕ уверен. Нажмите «Стоп», чтобы перейти к расширенному устранению неполадок. Сессия.

    <цитата>

    К сожалению, текущий установленный отладчик имеет статус ошибки. Получите ваш образ жизни работой сейчас. Резать Остановитесь и стремитесь к лучшему; снимите заглушку.

    Я выбираю “стоп” в странном сообщении, и все в порядке. Стоит ли нам этого ожидать? Параметры «Показывать сообщение при завершении работы» и «Сбросить отладчик после многократного запуска» не выбраны в стильном отладчике. … Я видел эту информацию о той похожей ошибке, ей уже несколько лет и она тоже уже не актуальна.

    г.

    Ошибка отладчика Lazarus в AstraLinux

    31 января 202331 января 2023

    После успешной компиляции приложения в Lazarus под AstraLinux и попытке запуска появляется сообщение об ошибке отладчика: «Отладчик не смог запустить приложение». При этом окно подробностей ничего внятного не сообщает:

    Причина

    Вероятнее всего в таком случае виновата блокировка системных вызовов ptrace, которая активируется по-умолчанию, если не убрать соответствующую галочку при установке AstraLinux.

    ptrace (от process trace) — системный вызов в Linux, который позволяет трассировать или отлаживать выбранный процесс. ptrace дает полный контроль над процессом: можно изменять ход выполнения программы, смотреть и изменять значения в памяти или состояния регистров. При этом никаких дополнительных прав не получаем — действия ограничены правами запущенного процесса.

    Решение

    Необходимо отключить блокировку ptrace. Сделать это можно под админом в графическом интерфейсе: Панель управленияБезопасностьПолитика безопасности. Далее открываем раздел Настройки безопасностиСистемные параметры. Нас интересует галочка «Блокировка трассировки ptrace для всех пользователей«. Её необходимо убрать:

    После этого применяем изменения и перезагружаемся. После перезагрузки отладчик должен заработать как положено.

    То же самое можно выполнить и в терминале (например, по SSH). Для проверки состояния выполняем команду:

    $ systemctl is-enabled astra-ptrace-lock

    Если ответ «enabled», значит блокировка включена. Выключаем её:

    $ sudo astra-ptrace-lock disable
    $ sudo reboot

    Данная статья проверялась для AstraLinux SE 1.7.2

    I think we established through a series of queries in comments that the necessary and sufficient condition to provoke the debugger problem you’ve been getting is to include in your app the declaration of the array p that you’ve added to your q, that is:

    var
      p: array [1..15000, 1..10000, 1..7, 1..4] of integer;
    

    For you, it seems that just including this declaration in your code is sufficient to make the debugger throw the error you quote.

    For me the debugger starts fine but I get a SIGSEGV error on the assignment to p[] in the following code:

    var
      p: array [1..15000, 1..10000, 1..7, 1..4] of integer;
      x,
      y,
      r : integer;
    
    begin
      x := 100;
      y := 100;
      r := 666;
      p[x, y, 1, 1] := r;
      writeln('Press any key ...');
      readln;
    end.
    

    So, I would try smaller values for the first two bounds of the p array. If that works and you still need the original bounds, I would suggest looking for an FPC library which implements «sparse arrays» and declare p as one of those.

    Good luck!

    Понравилась статья? Поделить с друзьями:
  • Lazarus ubuntu ошибка
  • Lazarus try except текст ошибки
  • Layout ошибка чтения файла
  • Laravel логирование ошибок
  • Laravel логи ошибок