Forum Replies Created
-
AuthorPosts
-
support
KeymasterCould you paste a typical build log showing the problem here? Looks like cmake uses a different format for “entering directory”/”leaving directory” messages and this confuses VisualGDB.
support
KeymasterHi,
First of all, GDB performance is not related to the files inside the Solution Explorer in Visual Studio – they are handled by different mechanisms. Here is how the debugging information gets into GDB:
1. When you compile your project (either launching make directly or letting VisualGDB do it) each .c/.cpp file gets translated to an .o file containing the compiled code and the debugging info (references to source lines in source files for each function). For VisualGDB this happens ‘behind the scenes’ and VisualGDB has no direct control over it.
2. When you link your final executable, the GNU linker merges the debugging information from all .o files and puts it into the final executable file. VisualGDB does not control this directly either.
3. When you start your debugging session with VisualGDB, it runs gdb which in turn reads the debugging information from the executable file (that contains debugging sections from all .o files merged together).The problem you are describing can have one of two reasons:
1. GDB itself has difficulties dealing with the huge amount of debugging information inside the executable file.
2. VisualGDB issues some commands to GDB that cause great delays.In order to diagnose this further please use the GDB Session window in Visual Studio. Select the “All GDB Interaction” mode to see the commands that VisualGDB sends to GDB automatically. Before stepping into a function that usually hangs clear the GDB Session window and observe the commands that get executed afterwards. If GDB does not report the “*stopped” message for a long time, then the delays are caused by GDB itself. If it reports “*stopped” quickly, but then gets delayed while handling some command from VisualGDB, please let us know which command causes the delay.
Both cases can be solved: VisualGDB can be configured in many ways to disable certain commands (disabling some secondary features). If the cause is the poor performance of GDB itself, you can use the ‘strip’ command to remove the debug information from the object files that you do not intend to debug before you do the linking. This would reduce the size of debugging information and make GDB perform faster at a cost of not being able to debug the ‘stripped’ source files until they are recompiled again.
support
KeymasterHi,
What you are describing looks like a limitation of Visual Studio. Adding and indexing lots of files may take a great deal of time. You can improve this by only adding the files you want to work with.
When you are importing a project using existing makefiles, you can select “Do not import sources to Solution Explorer” on the “Source Code Location” page. VisualGDB will not add any files to Solution Explorer, but building and debugging will work nonetheless. In order to make IntelliSense work you will need to add the files you are going to edit manually and specify include paths in VisualGDB settings.
As you are using existing makefiles, there the files in Solution Explorer are handled separately from the files participating in build, as the build is fully handled by your makefile system without any interference from VisualGDB. When you start debugging, VisualGDB will get the list of files from the symbols produced by the build system using a different mechanism that should not reduce the performance.
Please let us know if you need further help.
support
KeymasterIt looks like the converted private key has invalid format. Please try generating a keypair using OpenSSH tools (e.g. from cygwin package or directly on Linux) and use the file generated by it.
If that works, please compare the format of that key and the key you have tried before.support
KeymasterHi,
You are correct about private and public keys. VisualGDB mentions the public key as the term that describes the authentication process is “public key authentication”. We will consider making the wording less confusing here.
If you have already setup the public key authentication with PuTTY, you need to convert its key to the OpenSSH format and specify it in the “OpenSSH key from file” field.It would be easier, however, to select “Password” and enable “Setup public key authentication”. VisualGDB will authenticate for the first time using the password, generate and save the keys, add the public key to the key list on the server and use the private key for authentication from now on.
support
KeymasterHi,
We have investigated your problem and found a bug in VisualGDB. When running the gdbserver command VisualGDB always tries to use the deployment machine which is not set in your case.
We will fix this in the next release. As a workaround please enable the “Deploy executable on a different machine” checkbox in the VisualGDB Project Properties and specify the same machine as the deployment machine.If you get ‘broken pipe’ messages please ensure that no other valgrind instances are running in the background.
support
KeymasterHi,
Please try disabling the inline building. Click Tools->Options, select VisualGDB->General and set “Enable Inline Project Builder” to “False”.
support
KeymasterHi,
Are you talking about Linux or Windows projects? For Windows it’s not supported, on Linux you need to update to VisualGDB 3.1 to see the output.
support
KeymasterHi,
VisualGDB sets the GCC language to English by setting the LANG environment variable to en_US.UTF8. Looks like some settings on your computer override this and cause the messages to appear in German.
Please try adding the following lines to your ~/.profile file:
export LANG=en_US.UTF8
export LANGUAGE=en_US:enAfter modifying the file please restart your Linux machine and try running the wizard again.
support
KeymasterHi,
It looks like you have changed the locale for one SSH window only. When VisualGDB opens anther SSH channel, the locale is still German. Please modify the global setting instead.
Please refer to the documentation of your Linux distro for details on changing the default locale for a user.support
KeymasterHi,
This can be due to the default language of your Linux user account. Please try changing the language of the Linux account you are using with VisualGDB to English so that VisualGDB can understand the messages produced by GCC.
Regarding the support language, we only offer it in English.support
KeymasterHi,
The INCLUDE_DIRS syntax in the makefile you provided looks incorrect. Please use the unix-style relative paths. E.g. if your makefile is in the directory c:projectsproject1 and the include directories are c:projectsproject1rac and c:projectscommon, please specify “rac ../common”. Please ensure that there are no spaces in the project directory. Alternatively you can add absolute paths in MinGW format (e.g. c:/projects/project1/rac).
Regarding the static library names, please first add the library directories to the LIBRARY_DIRS using the same syntax as INCLUDE_DIRS. Then add short library names to LIBRARY_NAMES (e.g. if your library is called libTest1.a, just add Test1 to LIBRARY_NAMES).
If nothing helps, please rebuild your project and post your build log and the build directory name here. The build log should include the G++ command line that specifies the include directories.
support
KeymasterHi,
Did you let VisualGDB generate a makefile/flags.mak, or did you reuse an existing makefile?
Does the makefile in your project directory have any comments related to VisualGDB?support
KeymasterHi,
Please post the entire build log here. It should contain additional information that will help identify your problem.
support
KeymasterHi,
That`s a known bug of VisualGDB 3.0. Please download the 3.1 Beta 1.
-
AuthorPosts