Forum Replies Created
-
AuthorPosts
-
support
KeymasterHi,
This looks like either your project file got damaged, or the VS installation got damaged. Does re-creating the project with VIsualGDB wizard help? Note that the VisualGDB settings are stored in the .vgdbsettings files that are separate from VS projects and can be copied back after you re-create the project.
support
KeymasterHi,
We tried copy-pasting the XML fragment you posted into a .vgdbsettings file, but it did not cause any exceptions. If you could reproduce it and share a repro file, we should be able to fix it easily.
support
KeymasterHi,
We have added support for ‘detaching’ projects from BSPs to the upcoming VisualGDB 4.3.
Please switch to a newer version of GNU Make. The one that comes with our toolchains supports the c:/xxx path syntax in .dep files properly.
Running make.exe without cmd used to cause some random crashes in some cases. We did not investigate this further, as it looks like a bug specific to some versions of GNU Make for Windows and using cmd fixes it.support
KeymasterHi,
We could not reproduce this on our side. Could you please share the entire .vgdbsettings file?
support
KeymasterHi,
We don’t provide any officially supported tools for generating the BSP packages. However, you can generate one by modifying the existing package XML files in other BSPs. The BSP XML files are produced by the .Net serializer from objects inside the BSPEngine assembly, so you can make a new C# application, reference BSPEngine.dll and manipulate the XML files programmatically:
using BSPEngine; ... BoardSupportPackage bsp = XmlTools.LoadObject
(@"c:xxxBSP.xml");
bsp.SupportedMCUs = ...;
XmlTools.SaveObject(bsp, @"c:yyyBSP.xml");
We do have an internal tool that parses the STM32 headers and generates peripheral register definitions, but it’s highly specific to STM32, as it needs to extract the information from the comments and internal file layout. You can try extracting the register layouts from the Atmel Studio IDE if their license permits doing that.
support
KeymasterHi,
That is very strange. What happens if you start Command Prompt and manually run the following commands:
cd /d C:UsersKelsARCommLinuxHelloWorldLinuxHelloWorld "C:SysGCCraspberrybinmake.exe" CONFIG=Debug type Makefile
Does Make still complain about a missing Makefile? Does your source directory have some non-typical access rights? What happens if you try setting the access to the current user to ‘full control’?
support
KeymasterHi,
It looks like the C:UsersKelsARCommLinuxHelloWorldLinuxHelloWorld directory is missing the ‘Makefile’ file that is required to build your project. Normally it is generated by the wizard. Can you try creating another project? Is Makefile generated then?
support
KeymasterHi,
Cleaning the solution is not sufficient. You need to delete some ant-specific cache files outside the binary directory. You can read more by following the link in the previous post.
support
KeymasterHi,
This looks like a known Android bug. Please try suggestions here: https://code.google.com/p/android/issues/detail?id=60496
support
KeymasterOK, that rules out SSH communication problems. So it looks like GDB cannot receive signals from your program (are they handled by some Docker component instead?). Does it only happen in the “–interpreter MI” mode or in the normal command-line GDB mode as well? If you can make a repro case consisting of just a “hello, world” program and a GDB failing to stop at a breakpoint, the Docker support might be able to provide more help as they know Docker internals.
support
KeymasterHi,
First of all, VisualGDB uses the mspgcc compiler to build code for msp430, so many tricks that work for gcc/mspgcc will work with VisualGDB.
Regarding the initialization code, you need to make a separate function and put it to one of the .initX sections:;; .init0 (_reset_vector__: Start here after reset) ;; .init1 (User definable) ;; .init2 (__init_stack: Initialize stack) ;; .init3 (__low_level_init: Initialize hardware; user definable) ;; .init4 (__do_copy_data; __do_clear_bss: Copy data to .data, clear bss) ;; .init5 (User definable) ;; .init6 (__do_global_ctors: C++ constructors) ;; .init7 (User definable) ;; .init8 (User definable) ;; .init9 (main) ;; .fini9 (__stop_progExec__: Falls into here after main(). User definable) ;; .fini8 (User definable) ;; .fini7 (User definable) ;; .fini6 (C++ destructors) ;; .fini5 (User definable) ;; .fini4 (User definable) ;; .fini3 (User definable) ;; .fini2 (User definable) ;; .fini1 (User definable) ;; .fini0 (_endless_loop__: Infinite loop after program termination)
E.g. the following function will be placed to .init5 and hence will be executed after copying data from FLASH to RAM but before invoking C++ constructors :
void __attribute__((naked, section(".init5"))) MyInitializationCode() { asm("nop"); }
Note that the function body will be “copy-pasted” into the initialization sequence, hence the function should not contain any prologue/epilogue and must be declared as ‘naked’ (it may call other functions though).
support
KeymasterHi,
Running all commands in the interactive shell mode won’t be possible as VisualGDB will not be able to reliably detect when the command exits, however the upcoming VisualGDB 4.3 will check for differences between interactive and command mode variables and allow compensating the differences will running commands.
support
KeymasterOK, than looks like either VisualGDB misses the “*running” notification send by gdb, or gdb itself misses some signal from the app.
Does it work normally when you run “gdb –interpreter mi” via SSH console and run the exact commands VisualGDB issues? Does the “*running” notification appear in GDB output?support
KeymasterHi,
Based on your log it looks like the application you’re debugging with gdb fails to initialize. That usually happens when the application cannot locate the libraries it depends on due to missing directories in LD_LIBRARY_PATH. This can happen because VisualGDB starts gdb using a special ‘command’ mode of SSH that can bypass some startup commands (like motd) depending on your sshd configuration. Please try explicitly specifying the full LD_LIBRARY_PATH to GDB command environment in VisualGDB settings.
If this does not help, we need to understand the virtualization scheme used by docker in order to help you pinpoint the problem. As we have not used docker ourselves, we would need some clarification from you. Does it run a separate virtual kernel, a set of processes under the same kernel, or some layer on top of a single process?
support
KeymasterHi,
If you are interested in upgrading to the Custom edition, please contact sales@sysprogs.com
-
AuthorPosts