eteran / edb-debugger

edb is a cross-platform AArch32/x86/x86-64 debugger.
GNU General Public License v2.0
2.68k stars 322 forks source link

Breakpoint manager does not import/export breakpoints #801

Closed sayboltm closed 3 years ago

sayboltm commented 3 years ago

Using EDB v1.3.0, commit 39925b68375be2bb70a9df539d897c944a3c4d1b

I feel right at home in EDB, or at least as home as it seems I can be, jumping back into this hobby/work after totally removing Windows and its familiar but dated PE32s from my life. Thanks for making something that looks and sort of feels like Olly DBG!

When in breakpoint manager (Ctrl+B), image

clicking "Import Breakpoints" results in the dialogue going dark, image

and the console in the background shows: Gtk-Message: 11:45:17.481: GtkDialog mapped without a transient parent. This is discouraged.

I can provide additional details if needed. I installed using the very nice and simple standard build in the readme. Any help or ideas appreciated!

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/98607013-breakpoint-manager-does-not-import-export-breakpoints?utm_campaign=plugin&utm_content=tracker%2F14326212&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F14326212&utm_medium=issues&utm_source=github).
10110111 commented 3 years ago

What value does QT_QPA_PLATFORMTHEME environment variable have? Also please post the value of XDG_CURRENT_DESKTOP.

sayboltm commented 3 years ago

$QT_QPA_PLATFORMTHEME appears to be unset, and/or doesn't appear in env

desktop is GNOME

env | grep QT returns only QT_IM_MODULE=ibus

running centOS 8 if that helps

10110111 commented 3 years ago

Does it work if you unset XDG_CURRENT_DESKTOP or set it to e.g. kde?

eteran commented 3 years ago

Well that's certainly a weird one! Any luck with @10110111's suggestions?

sayboltm commented 3 years ago

I ran into some difficulty installing kde on my last known good kernel (working on display issues with latest one -- only one monitor at low resolution works), but in the process I tried simply using other desktops, so thanks for that!

Classic (X11 display server)

which results in:

XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME

or

Standard (X11 display server) on Xorg

which results in

XDG_CURRENT_DESKTOP=GNOME

and

XDG_SESSION_dESKTOP=gnome-xorg (vs just gnome)

and I have all 3 monitors working, without this issue showing up. I do still get the message Gtk-Message: 11:45:17.481: GtkDialog mapped without a transient parent. This is discouraged. It appears it does not like Wayland, though it was also working there, with additional warning on startup: edb.Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. I will just login using "Standard (X11 display server) on Xorg" in the future!

To reproduce this darkened screen and no dialogue, I login with Standard (Wayland), this only runs 2/3 monitors, so I drop a runlevel with systemctl isolate multi-user.target, then startx manually, to get the 3rd monitor on. Janky procedure, I know, but I was just happy to get it to go so I could keep working with some semblance of my nice desktop back. Now I see Wayland must be causing some kind of problem with my gpu conf etc, PWM and temp not showing up right.

It is following this process the above issue occurs. I am not sure what would be different starting X that way, vs logging in using Classic (X11 display server) or what appears to be identical but must not be, logging in using Standard (X11 display server) on Xorg. I am new to centOS and aware that it is maybe not the best desktop candidate, but I wanted to try out RHEL flavor distro and GPU passthrough and figured what's the worst that can happen using as a desktop for a bit.

I'll close it, but happy to hear any other suggestions. Thanks for the help!

10110111 commented 3 years ago

In fact, I wasn't suggesting to switch DE or windowing system, just to alter the environment variable for EDB — so that Qt didn't try to use its GTK plugin.

sayboltm commented 3 years ago

So, ignore what I said, during my tests, I did not load the executable I was working on . This occurs once the binary is loaded, and you click import.

However, @10110111 is right, and that unsetting the environment variable EDB sees does change its behavior! I had to not just unset, but set to 'kde' (or presumably something else), else it would still default to trying to use its GTK plugin. I do not see the GTK message, and the window does not go dark and not work. It looks older, but works!

10110111 commented 3 years ago

It looks older, but works!

Could you show a screenshot? Qt doesn't seem to have an "old" style by default...

sayboltm commented 3 years ago

Sure! .. Looks 'old' but I like its behavior more

image

I have seen it a few times in different programs, and prefer its "windows-like" behavior of being able to press the first few letters of a folder instead of search, and had not yet had the time to get to 'nice to have' customization like that.

Actually, this appears to be the standard dialogue used by EDB, or whatever powers it within (QT?). With my default CentOS config, I prefer this dialogue EDB uses over the "system dialogue", which looks 'newer' but starts searching with hit or miss results instead of going to first letter of folder I press. Example of 'new' dialogue: image

sayboltm commented 3 years ago

I don't recall the state of this, I think changing the XDG_CURRENT_DESKTOP helped, though I did that through changing my desktop at the login screen of CentOS. My system became unstable after a kernel update, losing my monitors and delaying my progress posting back here. sorry about that. I will close! (and post back if have more details)