Replies: 6 comments 8 replies
-
Will take shot at the errors tomorrow, but I’m not sure they are directly related to the missing information. As you may already have surmised, the only two windows connected directly to the target are the Objects view and the Interpreter. Everything else is mediated by the active trace. So, the main question along those lines is “Is there an active trace?”. The first thing I would check is whether the Objects view is open to the current thread. If it isn’t open past the process, the recorder may not have triggered. If you have any threads in the Thread view, then you have an active trace. If you have an active trace, the next thing I would check is that one of the threads in the Thread view is selected. If nothing is selected there, the Registers and Stack will be empty, as well the Dynamic view (although the Dynamic view can be empty for other reasons). I’ll stop there for the moment, but happy to help you trouble shoot this. We haven’t had too many folks trying out the ssh connection, so am interested in getting it up to speed. |
Beta Was this translation helpful? Give feedback.
-
I do get an entry in Inferiors (it's always called 1 - < null >) and the Threads branch is populated with the proper Thread. The thread is automatically selected but the listed windows are still empty.
After taking a look at the source code I think that the binary opened from the local Windows machine is not recognized as being the same with the one debugged by GDB on Linux but I am not sure. |
Beta Was this translation helpful? Give feedback.
-
Just an update: on the good news front, I can completely reproduce your situation; on the bad news front, not sure what's happening. Working on it - will keep you posted. |
Beta Was this translation helpful? Give feedback.
-
OK, we understand the problem - just need to figure out a solution. Apparently, if you connect via ssh from a Windows box to a Linux target, the target sends the response to every MI2 command, plus an additional two lines that we were not expecting: "&\n" and "^done". The first is not a problem, but the second is completing commands that are in the queue which haven't received a legitimate response yet. Hopefully, a solution tomorrow.... |
Beta Was this translation helpful? Give feedback.
-
Thank you - both for pointing out the bug and the solution! You’ve definitely helped us make the debugger better! |
Beta Was this translation helpful? Give feedback.
-
I went ahead and created an issue for this. I wound up restating the things you both already figured out here, because I apparently have trouble reading before writing :) . Thanks again for your help. |
Beta Was this translation helpful? Give feedback.
-
I use the last version of Ghidra built from the source (10.1 DEV) with Java 11 on Windows 10. The target machine is running Ubuntu 18.04 LTS with GDB 8.1.
When I try to debug a simple test binary using Debug in GDB via ssh I get errors like:
Resync: Missed loaded module/library: [followed by the path and the name of my binary]
Resync: Missed unloaded module/library: [followed by the path and the name of my binary]
Could not notify inferior started
Could not update stack <GdbModelTargetStack: path=Inferiors[1].Threads[1].Stack model=agent.gdb.model.impl.GdbModelImpl@443d9d19 schema=Stack> on STOPPED
Also the Dynamic , Stack and Registers windows are always empty.
I would be really grateful if smb could explain the meaning of these errors to put me on the right path. The rest I will figure from the Ghidra debug module source code.
Thank you
Beta Was this translation helpful? Give feedback.
All reactions