How to start WAS liberty profile server in remote debug mode. - remote-debugging

I need to start my liberty profile in remote debug mode. Want to know if that is possible? If yes need pointers on how to achieve that.

server debug [servername]
This will start the server in the foreground in debug mode. You can then connect a debugger to the debug port (default: 7777). There're more details on the options for the server command in the Knowledge Centre.
Alternatively, if you're using WebSphere Developer Tools for Eclipse, you can right-click on the server in the servers view and select Debug which will start the server in debug mode and attach the eclipse debugger.

You can use the WebSphere Developer Tools for Eclipse to debug applications on remote servers. Create the remote server and select the "Enable the server to start remotely" option in the server wizard so that you can then restart the remote server in debug mode.
For instructions on how to set up a remote server in WDT see http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/t_creating_remote_server.html
Here's a doc about debugging apps on a server as well
http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wdt.doc/topics/tdebug.htm?lang=en

Related

How to prepare eclipse setting for remote debugging

I am trying to debug an application which runs on another target(remote) machine. I can run this application on remote machine and debug my code under admin user privileges. But I need to start gdbserver and my application under root privilages to understand exact behavior so I couldn't start gdbserver and application with root. Is there anybody can help me?
I haven't done it with recent Eclipse version but here are my notes for this.
Not sure of all menu/tab names (I'm not working with English version)
on target you must run gdb server specifying port
target # gdbserver :3210 ./mytest
on dev platform
eclipse config: (/ means sub-menu or tab except if quoted)
run / 'debug configuration' / 'C/C++ remote application' /
main-tab / set : Manual remote debugging (lower part)
debugger-tab / main-tab / set gdb debugger:
debugger-tab / connection-tab / set: tcp , ip(target ip) , port(3210)
Hope this helps

Remote debugging .net core 2.0 console app over ssh

I am building a .net core 2.0 console app on windows 10 but I want to debug it on a remote linux server running debian 9.
I found this article:
https://blogs.msdn.microsoft.com/devops/2017/01/26/debugging-net-core-on-unix-over-ssh/
but where I get stuck is selecting the SSH connection. My remote server has authentication and if I enter the user#ip:port it doesn't find anything.
I found some mention of using SSH tunnelling but as there is no dotnet process listening on the server (it's installed but it doesn't have any listening service running I can see) I am unsure exactly what port I'm meant to be tunnelling or even which direction to tunnel it.
What do I need to do to get my SSH connection visible in the debugger?
I just tried this and I found that the Find.. button doesn't do anything either.
First you enable SSH connections in your Linux host (in my case, Ubuntu, I had to run sudo ufw allow ssh). Test things out by opening cmd on Windows and doing ssh user#host.
Then, on Visual Studio, in the SSH attach to process window, make sure you hit "refresh" and check the "show processes from all users" box. You should see the "dotnet" process running.
EDIT: you should be prompted for the remote host's password at some point. Here's the dialog shown when I changed the password on the remote host and then attempted to debug.

Qt Creator (4.5 beta) - can't make connection to gdbserver

I've been setting up remote debugging for an embedded Linux target. I've tested that I have the correct combination of gdbserver running on the target and gdb client running on my workstation. I can start the server and on the workstation side run:
(gdb) target remote 10.28.22.226:2345
and I can list source and step just fine.
In Qt Creator I have configured a device. In that window I specify the GDB server executable: gdbserver (see pic).
I also configure the cross debugger in the 'Build & Run' Debuggers tab as shown below:
In this case, I have manually started the gdbserver with my executable on the target with port 2345. To start debugging with Qt Creator, I choose the Debug->Start Debugging->Attach to running Debug server pulldown menu. It gives me the prompt shown below, where I enter the server port (2345). I give it the appropriate kit and local executable (copy of the executable on the remote target).
After I hit OK, it seems to run the gdb client locally with a few commands, then times out trying to communicate with the gdbserver. I have debug logging turned on with the server, so I know the server never sees anything from the client run from Qt Creator. Additionally, I did Window->Views->Debugger Log to help me get a better idea of what was going on. The log shows the correct IP address and port for my device, but I don't see anything that looks like a 'target remote IP:port' call.
I'm looking for a hint or reference here. I seem to be a bit stuck at the moment. Thanks!
EDIT: additional information - I've verified that my gdb client has support for python compiled in. I see that Qt Creator requires python support. I also have further support that nothing ever goes out on the wire from Qt Creator. I did a wireshark capture and don't see anything going to port 2345 on the target.
Alternately, if anyone would share their Qt Creator debugger-log output with me so I can compare, that would be helpful.
Avoid Qt Creator 4.5-beta1. It seems 4.5RC1 doesn't have this problem. I was able to do remote debugging using the method described above just fine.
Even QtCreator 4.5.0 seems to have the same bug.
The only workaround I've found is to start the GDB server manually on the remote target: with "top" I get the pid of the remote process to debug then I run the following command: gdbserver --attach remote ip:remote port pid.
After the server is listening, I finally choose: "Attach to Running Debug" server".
Maybe you can write a server start script on target which include the above statement...

Remote debugging C++ application with Eclipse GUI

I followed the steps in this link
and I manage to debug a binary which resides in linux host from my windows machine from command prompt.
I have gdbserver in linux and I installed gdb with the help of mingw in windows. As I told I can prompt "target remote x.x.x.x:10000 test" to command in windows and debug my test application.
My problem is I can't do the same with eclipse gui, it seems to me it has tones of buttons, options but they make no sense to me.
I am choosing debug_configurations-->C/C++ Remote Application(the only one which allows me to input linux machine ip/port), in "Main" tab to connection I am inputting my linux ip. In same menu under Debugger tab I am inputting my window's gdb path and gdbserver port.
After doing all those I believe I gave enough info to eclipse for connect gdb server but it never enough for eclipse. I am checking gdbserver logs by starting gdbserver with --debug, gdbserver never gets triggered, it does not writes a single line of log. Eclipse even does not starts a connection. But instead it gives me a error like "Error during file upload." which makes no sense to me.
I am using "Eclipse Version: Juno Service Release 2" . Any help will be appreciated .
I believe that the "C/C++ Remote Application" option uses Eclipse's RDT (Remote Development Tools) and RSE (Remote System Explorer) to connect, upload, execute, and debug the application itself. It
If all you want to do is connect to a gdbserver, then create a "C/C++ Attach to Application" debug configuration, and under the Debugger tab, set Debugger to gdbserver.
I also encountered this error message for other reason on Eclipse version 2019-09 R (4.13.0).
I very recommend to read paragraph "How do I debug a remote application?" from this great guide.
It explains which of three remote debugging options you should be using - Automatic Remote Launcher, Manual Remote Launcher and Remote Attach Launcher and how to use each one.
I was using the wrong launcher and hence got the error, while on the remote side gdbserver was listening and waiting for a connection. Switching to Manual Remote Launcher solved it.
for example it says:
If you don't have RSE installed, you cannot use the "Automatic Remote
Launch"
RSE = Remote System Explorer End-User Runtime
Launcher setting is configured from the bottom of the Remote Debug Configuration window - "Using GDB (DSF) Automatic/Manual Remote Debugging Launcher".

WSO2 Governance Registry 4.5.3 Web app mode

Can any one tell me how to run wso2 governance registry 4.5.3 in web app mode rather running it in stand alone mode ? I have successfully built the source code and I want to know exactly how I can run in web app mode so that I can debug it in the eclipse ??
If what you want is to debug the source code all you have to do is start the WSO2 Governance registry with debug enabled when starting the server this can be done by starting the server with the following command.
sh wso2server.sh debug 8000
And you can remotely debug the server through an IDE like eclipse or Idea with port 8000 or some other port number you wish to use.
EDIT: Regarding running WSO2 governance registry in web app mode take a look at this blog post which explains how WSO2 carbon can be run as a web app might help you
[1]http://pradeepfernando.blogspot.com/2012/09/running-wso2-carbon-as-web-app-apache.html
First you have to setup debug configurations in your IDE which is can be learn using this wso2 article
Then start the BPS server script with debug option as follows.
<bps_home>/bin/wso2server.sh -debug 5005
After you start the server you will get this message:
Listening for transport dt_socket at address: 5005
Then start debugging from your IDE!
This is the debug configuration I used: