[lldb-dev] [lldb-mi] unable to debug GTK applications

Jan Kratochvil via lldb-dev lldb-dev at lists.llvm.org
Fri Mar 8 12:22:51 PST 2019


On Tue, 26 Feb 2019 14:52:26 +0100, Eran Ifrah via lldb-dev wrote:
> I am trying a GTK application using lldb-mi, however, the application
> terminates immediately with the error message:
> 
> @"15:47:16: Error: Unable to initialize GTK+, is DISPLAY set properly?\r\n"
> 
> Running the same using "pure" lldb works as expected.

Using Eclipse the lldb-server environment is empty as nothing sets it.

I tried the attached patch (a copy from StartDebugserverProcess()) which does
fix it for local debugging but it is apparently a wrong patch as it provides
to the application environment from gdbserver, not from Eclipse as it should
by QEnvironmentHexEncoded packets.

As I should do something else is there some known status of the environment
passing? Isn't it some unimplemented Linux-port feature?


Jan
-------------- next part --------------
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
@@ -217,6 +217,9 @@ Status GDBRemoteCommunicationServerLLGS::LaunchProcess() {
   m_process_launch_info.SetLaunchInSeparateProcessGroup(true);
   m_process_launch_info.GetFlags().Set(eLaunchFlagDebug);
 
+  // Copy the current environment to the gdbserver instance
+  m_process_launch_info.GetEnvironment() = Host::GetEnvironment();
+
   if (should_forward_stdio) {
     if (llvm::Error Err = m_process_launch_info.SetUpPtyRedirection())
       return Status(std::move(Err));


More information about the lldb-dev mailing list