Forum Replies Created
-
AuthorPosts
-
supportKeymaster
The easiest way would be to let VisualGDB connect via SSH already as root:
1. Open a root shell with ‘sudo su’
2. Change the root password with ‘passwd’
3. In VisualGDB Project Properties (right-click on the project file to open) find the ‘Remote Computer’ setting, select ‘New connection’ and enter ‘root’ as the user name and the password you set in the previous step.From now on the project will be built and debugged as root.
supportKeymasterAs discussed per email, this is the limitation of the TrueSTUDIO GDB server. Using a GDB server that is not restricted to TrueSTUDIO is the solution.
supportKeymasterHi,
Please ensure that the the DLL being loaded contains symbols. Please run the ‘info shared’ command in the GDB Session window and paste the output here. Please also run the ‘info sources’ command to see which source files are listed in the currently loaded symbols.
supportKeymasterHi,
Thank you for your feedback. We have added support for build variables in custom directory mapping to the upcoming v3.1 release.
supportKeymasterHi,
Yes, using OpenOCD is possible, however we currently do not provide a step-by-step tutorial. Please refer to community-hosted instructions on setting up GDB with OpenOCD to get the OpenOCD arguments and GDB starup commands.
Please use the VisualGDB project wizard or the VisualGDB Project Properties window to provide those commands to VisualGDB.supportKeymasterHi,
We cannot really speak for the competitors here, so I will only list the key features of VisualGDB that are relevant to embedded systems and are intended to make your development as comfortable as possible:
1. The MSP430 projects can be created easily by simply selecting your device type in the MSP430 wizard. All GCC flags, gdbproxy command line settings, etc. are configured automatically.
2. The MSP430 hardware registers can be easily viewed using the special Hardware Register Viewer window.
3. You can see the interaction between VisualGDB and GDB using the GDB Session window. This might be useful when diagnosing compatibility problems with third-party GDB stubs.
4. You can easily change various project settings via the VisualGDB Project Properties context menu command. The properties editor is easy to use and includes a quick search option:
5. VisualGDB automatically updates the makefiles instead of regenerating them. Thus you can always do your fine-tuning (e.g. change various GCC flags) or add new targets, while VisualGDB will keep your source file list in sync.supportKeymasterHi,
Are you using clang to compile your code? Clang has a known debug information generation bug that prevents VisualGDB from obtaining a reference to the tree nodes. Could you please provide us with the errors listed in the “GDB Session” window?
supportKeymasterHi,
You are probably using the old VisualGDB 2.x release that is no longer available for new trials.
Please download the latest VisualGDB 3.0 trial from http://visualgdb.com/downloadsupportKeymasterHi,
“–interpreter mi” enables a special “machine interface” mode which is required for VisualGDB to understand its output.
We could offer 2 workarounds for this bug:
1. We could add a special “auto-ping” flag that will cause VisualGDB to repeat pinging GDB if a command takes too long to respond.
2. We could add an option to disable the ‘info target’ command for a certain project. Disabling it will affect the main module name in the Threads window and module name detection in Call Stack window.Please let us know what’s the best for you.
P.S. Please try building the latest GDB from source code. This should not take too much time (../gdb-version/configure && make -j<# of CPUs>), but will probably solve your problem in a much cleaner way.
supportKeymasterHi,
Thank you for running the tests and sorry for the confusion between “target” and “info target”.
This starts looking more like a bug of your GDB or a deep SSH protocol bug. Could you please try reproducing it with another SSH client (e.g. logging on from a Linux machine or using a Windows SSH client that is not based on libssh2)?
Could you also try a different version of GDB?P.S. This is normal that the ‘timeout’ dialog is not shown when you are reproducing things manually. VisualGDB only shows it when it’s in full control of the GDB session and knows when to expect a reply. This does not pertain to manually launched GDB sessions.
supportKeymasterHi,
Sorry for the delay, unsuccessfully tried to reproduce it on our side. This looks like some strange SSH protocol bug. In order to investigate it further please try the following:
Once debugging has been started please go to the SSH session window, click on the hyperlink to start a session, then run GDB manually in the session:gdb
then set a breakpoint manually, run the program and try issuing the ‘target’ command manually:
b main
r
targetPlease let us know if the output of the ‘target’ command comes normally, or if you experience the same problem in the manual mode. If in the manual mode the problem does not reoccur, please rerun GDB in the MI mode:
gdb –interpreter mi
Although GDB output will look differently now, it will still accept normal commands. Please try running the same 3 commands to see if the ‘target’ output is incomplete.
If you manage to reproduce the problem in the manual mode, please click at the console symbol inside the GDB session window. A multi-tabbed SSH client will be launched. Please open 2 tabs, try reproducing the frozen ‘target’ command in one tab and then see if typing anything in another tab affects the first tab.
supportKeymasterHi,
Oops, sorry for that. Please provide us with the following information to pinpoint your problem:
1. Does the problem occur on every debug session? If not, how frequently does it occur?
2. Does the “timeout” dialog automatically disappear after 1-10 seconds? If this is a bug of LibSSH2, we have a safety mechanism that should automatically resolve such hanging within 1-10 seconds.
3. Does invoking “info target” manually via the SSH Session window cause the same bug?supportKeymasterHi,
Currently this is not possible directly. You can put a breakpoint at the end of the main() function to achieve a similar result.
Using scanf() or cin should normally work. Please send us an archive with an entire test project (including the source code and the Visual Studio project files). If this is a bug of VisualGDB, this will help us to reproduce and fix it.supportKeymasterHi,
Please go to Visual Studio Configuration Manger (click on the debug/release switch on the toolbar) and remove the “build” flag for the projects you don’t want to build.
Note that you can create as many solution configurations as you want all having different project sets enabled.You can also configure Visual Studio to prompt before auto-building the projects when you start debugging.
supportKeymasterHi,
Normally the Python include files are located in a Python-version subdirectory (e.g. /usr/include/python2.7/Python.h). Thus you need to add it to additional include path.
This can be done by setting the INCLUDE_DIRS variable inside flags.mak. E.g.:INCLUDE_DIRS := /usr/include/python2.7
If you are using a cross-compiler, the path will be:
CROSS_SYSROOT := C:/SysGCC/raspberry/arm-linux-gnueabihf/sysroot
INCLUDE_DIRS := $(CROSS_SYSROOT)/usr/include/python2.7 -
AuthorPosts