support

Forum Replies Created

Viewing 15 posts - 7,111 through 7,125 (of 7,592 total)
  • Author
    Posts
  • in reply to: Pretty print of stdlib C++ #2335
    support
    Keymaster

    Hi,

    Please find where exactly _Rep_Type is declared on your machine (i.e. within which class). Alternatively you can add _M_t to the watch window (use correct stack frame) and see the type column for more hints.

    in reply to: Pretty print of stdlib C++ #2333
    support
    Keymaster

    Hi. Sorry for the delayed reply. We were trying to reproduce the problem on our Linux setups, but were unsuccessful.
    Your problem is caused by VisualGDB trying to get cast the tree node pointer to a class that contains information about the descendents and the value. Normally this class is available as std::map<...>::_Rep_type::_Link_type.
    It looks like your version of STL has different names for it. Please try the following steps to get the name of the tree node class:

    1. Create a trivial program:

    std::map test;
    test[3] = 3.5;

    2. Step into the second line by pressing F11.
    3. Keep stepping into the STL code until you reach the _M_end() method:

    _Link_type
    _M_end()
    { return static_cast<_link_type>(&this->_M_impl._M_header); }

    4. Please take a note of the return type of _M_end(). In our case it’s _Link_type.
    5. Use the ‘call stack’ window to find the innermost frame that belongs to the map class itself. In our case this is map<...>::lower_bound():

    iterator
    lower_bound(const key_type& __x)
    { return _M_t.lower_bound(__x); }

    6. Find where _M_t is declared and take a note of its type. In our case it’s _Rep_type:

    _Rep_type _M_t;

    7. In the GDB Console select ‘All GDB interaction’ and find the line causing the error you mentioned. Copy it and rerun the command to ensure that GDB still complains.
    8. Modify the line to use the node type name you have derived. Ensure that GDB executes the command successfully.
    9. Send us the node type name you have found. We will update our type visualizers to support your version of STL.

    in reply to: Debugging target with sudo rights #2245
    support
    Keymaster

    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.

    in reply to: VisualGDB STM32 Toolchain #2268
    support
    Keymaster

    As 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.

    in reply to: Step through from C# to C++ #2042
    support
    Keymaster

    Hi,

    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.

    in reply to: Path mapping with Build Variables #2234
    support
    Keymaster

    Hi,

    Thank you for your feedback. We have added support for build variables in custom directory mapping to the upcoming v3.1 release.

    in reply to: VisualGDB STM32 Toolchain #2266
    support
    Keymaster

    Hi,

    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.

    in reply to: VisualGDB vs WinGDB #2054
    support
    Keymaster

    Hi,

    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.

    Update: click here to learn more about VisualGDB features

    in reply to: Pretty print of stdlib C++ #2348
    support
    Keymaster

    Hi,

    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?

    in reply to: Trial Seat ID #2093
    support
    Keymaster

    Hi,

    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/download

    in reply to: Remote GDB "frozen" on "info target" command #2183
    support
    Keymaster

    Hi,

    “–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.

    in reply to: Remote GDB "frozen" on "info target" command #2189
    support
    Keymaster

    Hi,

    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.

    in reply to: Remote GDB "frozen" on "info target" command #2188
    support
    Keymaster

    Hi,

    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
    target

    Please 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.

    in reply to: Remote GDB "frozen" on "info target" command #2179
    support
    Keymaster

    Hi,

    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?

    in reply to: keeping shell alive during execution #2053
    support
    Keymaster

    Hi,

    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.

Viewing 15 posts - 7,111 through 7,125 (of 7,592 total)