support

Forum Replies Created

Viewing 15 posts - 5,041 through 5,055 (of 7,855 total)
  • Author
    Posts
  • in reply to: Code hinting std::map has no member 'find' #12250
    support
    Keymaster

    Hi,

    Please ensure you are using Clang-based IntelliSense. It supports GCC-specific code much better than the regular VS IntelliSense.

    in reply to: ESP-IDF 3.x #12249
    support
    Keymaster

    Hi,

    We usually add official support for ESP-IDF versions within 1-2 months from their official final release date. As ESP-IDF 3.0 is not officially released yet, it’s hard to say when this will happen.

    As the ESP-IDF is changing very rapidly, we have considerably simplified support for importing the projects build by ESP-IDF itself. Please see this tutorial for a detailed example of importing ESP-IDF projects.

    in reply to: Remote name could not be resolved #12245
    support
    Keymaster

    Hi,

    This looks like some sort of a networking problem. Please ensure that your computer has Internet connection and try resetting your DNS cache.

    in reply to: nRF52840 #12242
    support
    Keymaster

    Hi,

    Strange, normally the MCU.CSV file should not affect the J-Link stub (you can try removing the line from it after you edited the VisualGDB settings to be 100% sure).

    Can you also confirm that the problem happens when you launch the segger gdb stub manually and connect gdb from command line? You can use the following gdb commands to test it:

    gdb <elf file>
    target remote :3333
    load
    continue
    in reply to: nRF52840 #12240
    support
    Keymaster

    Hi,

    Thanks, we have tried building and running your project on our nRF52840 board and it worked out-of-the-box.

    Please check if you are using the same SDK version with IAR. If not, the latest Nordic SDK might be incompatible with the preview board and would only work with the final version of it.

    in reply to: Custom RTOS support fails at stack-list-frames #12239
    support
    Keymaster

    Hi,

    Thanks, this could be related to Visual Studio trying to asynchronously request the frame list while the registers are still being updated. Please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.3.7.1763.msi

    We have also added a setting under Tools->Options->VisualGDB->Embedded->Other that allows disabling parallelization of register setting commands.

    If you want to use function tracing with your custom RTOS, you would need to modify the profiler framework so that it can store the instrumented call stack information for each thread separately. This mechanism is not documented, so our best advice would be see how this is supported for FreeRTOS and add similar code for handling your RTOS.

    in reply to: Type visualizers and inheritance #12238
    support
    Keymaster

    Hi,

    OK, please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.3.7.1762.msi

    We have added a new field called VSPropertyObject to the ExpressionValue class. You can set it to your own implementation of IDebugProperty3. VisualGDB will forward calls to GetCustomViewerCount(), GetCustomViewerList(), CreateObjectID() and DestroyObjectID() to this object.

    in reply to: Switching from Atollic, my evaluation so far. #12237
    support
    Keymaster

    Hi,

    There is no documentation on the internal real-time watch protocol (as it’s a fairly rare customization), however our profiler framework includes sources for all target-side code involved in real-time watches, so it’s relatively easy to reverse-engineer it.

    We would recommend starting with creatinga test project similar to the one shown in the blog post. Then add several instances of ScalarRealTimeWatch and ensure they work.

    When you add a ScalarRealTimeWatch object to the real-time watch window, VisualGDB detects its type and sets the “enabled” field. Then it expects the real-time watch data stream to contain packets of the following structure:

    <scalar real-time watch updated>: <variable address> <new value>

    You can emulate this by creating your own implementation of ScalarRealTimeWatch linked to a global variable in your program. Once enabled is set it should configure the ITM registers to trigger when the linked variable is modified and your client-side code should read the ITM messages and translate them into the real-time watch protocol (note that you will need to report the address of the watch object, not the original variable).

    BTW, if you’re willing to publish the sources for the plugin under a permissive license, we will be happy to fork it on our Github repo, include it into the VisualGDB distribution and support/maintain it officially.

    in reply to: Support for external flash on STM32F7 Disco #12236
    support
    Keymaster

    Hi,

    Yes, our OpenOCD fork includes support for FLASH programming plugins. Please follow this tutorial for details.

    in reply to: ESP No Debug Settings Window #12235
    support
    Keymaster

    Hi,

    Looks like you are using an older preview build of VisualGDB 5.3.

    Please update to the latest 5.3 Preview 7.

    in reply to: License Purchase Questions #12234
    support
    Keymaster

    Hi,

    VisualGDB is licensed per seat (a computer/user combination). Hence one license will allow using VisualGDB on one computer by one user. After the initial year the license will continue working, however you will no longer be eligible for technical support and you won’t be able to update to VisualGDB versions released after the year ran out. Alternatively you can always renew your license (currently the renewal price is 50% of the regular price).

    in reply to: nRF52840 #12220
    support
    Keymaster

    Hi,

    We have just retested it with the nRF52840 (PCA10056) and could not reproduce any issues. Do you get this error with all projects (including the basic “Blinking LED”) or only with some specific projects?

    in reply to: Type visualizers and inheritance #12219
    support
    Keymaster

    Good to know it works.

    With the free option, VS supports custom viewers for watches via the GetCustomViewerList() method. We can easily modify the VisualGDB engine to return an array of DEBUG_CUSTOM_VIEWER structures provided directly by your visualizer. You would then need to figure out how to connect this with the VS internals and let VS load the actual visualizer.

    If you want us to figure this out instead and provide you with a simple WPF-based interface for custom viewers, we can do that for a small fee (please contact sales via the support form to get a quote).

     

    in reply to: Switching from Atollic, my evaluation so far. #12218
    support
    Keymaster

    Thanks, we’ll keep this in mind when designing our stack analyzer.

    The custom real-time transport mechanism is not documented (and is currently only used in our internal tests), so we’ll provide an overview here. First of all, please use this build as it publishes all necessary interfaces properly: http://sysprogs.com/files/tmp/VisualGDB-5.3.7.1760.msi

    Then you would need to create a new .Net library in C#, reference the VisualGDBExtensibility.dll assembly and add the following class there:

       public class ExtensionFactory : IVisualGDBExtensionFactory
        {
            public IVisualGDBBuildExtension CreateBuildExtension(IVisualGDBProjectContext project) => null;
            public IVisualGDBDebugExtension CreateDebugExtension(IVisualGDBProjectContext project) => new Extension();
            public IVisualGDBDesignExtension CreateDesignExtension(IVisualGDBProjectContext project) => null;
    
            class DataSource : ICustomRealTimeWatchDataSource
            {
                private SerialPortStream _Stream;
    
                public event ThreadStart ResetDetected;
                public event RealTimeWatchDataReceived DataReceived;
    
                public void RunFromWorkerThread()
                {
                    _Stream = new SerialPortStream("COM16");
                    byte[] data = new byte[65536];
                    for (; ; )
                    {
                        int done = _Stream.Read(data, 0, data.Length);
                        DataReceived?.Invoke(data, 0, done);
                    }
                }
    
                public void Stop() => _Stream?.Dispose();
            }
    
            class Extension : IVisualGDBEmbeddedDebugExtension
            {
                public ICustomRealTimeWatchDataSource RealTimeWatchDataSource { get; } = new DataSource();
                public void AdjustToolCommandLine(DebugTool debugTool, ref string executable, ref string arguments, ref string workingDirectory) { }
                public void Dispose() { }
                public void OnGDBSessionStarting(IGDBSession gdbSession, ref bool bypassNormalStartupCommands) { }
            }
        }

    Replace the RunFromWorkerThread() method with what makes sense for your implementation. Then add a <ProjectExtension> element to the .vgdbsettings file (under  VisualGDBProjectSettings2) pointing to your plugin DLL.

    In your application replace the implementation for the SysprogsProfiler_WriteData() function with your own one that will channel the pdcRealTimeAnalysisStream stream over your custom channel. Note that SysprogsProfiler_WriteData() is called with the interrupts disabled, so it should not rely on any interrupt handlers.

    As long as the data passed to DataReceived exactly matches what was sent by the profiler framework via calls to SysprogsProfiler_WriteData(), VisualGDB will parse it correctly and the real-time watch GUI (including any custom events used to report your variables) will work.

     

    in reply to: Custom RTOS support fails at stack-list-frames #12215
    support
    Keymaster

    The hang could be caused by an issue we recently discovered and fixed. Please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.3.7.1759.msi

    If the problem persists, please try checking the gdb log for the last commands issued by VisualGDB (you can enable diagnostic gdb logging via the Advanced GDB Settings page of VisualGDB Project Properties).

Viewing 15 posts - 5,041 through 5,055 (of 7,855 total)