我开发了一个小型开源应用程序来帮助我完成博士论文。该应用程序在Windows上正常运行。当我尝试在Linux上运行时,一切都运行良好,但当我关闭应用程序时,我收到了这条消息:
Project SmCube raised exception class ´External: SIGSEGV´.
我试图运行一些示例应用程序(默认情况下随Lazarus一起提供)并且运行正常。
我试图追查问题。在“Application.Terminate”命令之后,调试停留在此例程上:
{------------------------------------------------------------------------------
Method: TGtk2WidgetSet.AppWaitMessage
Params: None
Returns: Nothing
Passes execution control to the GTK engine till something happens
------------------------------------------------------------------------------}
procedure TGtk2WidgetSet.AppWaitMessage;
begin
WaitingForMessages:=true;
if not FGtkTerminated then
begin
{$IFDEF USE_GTK_MAIN_OLD_ITERATION}
gtk_main_iteration_do(True);
{$ELSE}
DEBUG STOPS HERE --> g_main_context_iteration(g_main_context_default, True);
{$ENDIF}
end;
WaitingForMessages:=false;
end;
请有人帮我发现发生了什么事吗? 最好的问候
答案 0 :(得分:-1)
我也没有看到足够的信息来提供任何有价值的答案。
但我建议尝试使用qt widgetset而不是gtk widgetset编译lazarus应用程序,看看它是否仍然存在。