GDB 10.1
lists.gnu.org
lists.gnu.org
This is huge! Microsoft's symbol servers have long made it easier to deal with PDBs. This will finally help with the annoyingness of -debuginfo and -debug Linux packages.
Edit: Background on debuginfod: https://developers.redhat.com/blog/2019/10/14/introducing-de...
If not, the GPL will not affect you. If so, does that not feel like mooching off the community?
Maybe his/her employer does not allow gpl software...
Then they aren't using GCC (or Linux) in the first place.
GPLv2 can be approved fairly easily. GPLv3 is a much tougher sell. For example, GCC is fine because there's really no alternative (or there wasn't before clang had full compatibility).
That's probably all not very applicable to gdb, but corporate policies might not allow such a nuanced perspective.
Also, reprogramming the ECU is already possible, and it's also not illegal to do it. It may very well void your warranty and it might be illegal to use the car on public roads after having reprogrammed the ECU, but neither of those two things are incompatible with the GPL.
Actually I think that would constitute a GPL violation on the part of the government (enforcing additional restrictions on the use of the software), although the government is generally not the one distributing the code (and also good luck holding them accountable even if they were).
> The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
> > that would constitute a GPL violation on the part of the government [if the government were the ones distributing it] [...]
It would be nice to close this loophole (prevent or at least disincentivise the goverment from making such laws), but it's not clear how that could be accomplished.
https://reviews.llvm.org/D75750
The feature itself is multi-platform and is not original to GDB.
> For example, your distro might package debuginfo and source files separately from the executable you’re trying to debug and you may lack the permissions to install these packages. Or, perhaps you’re debugging within a container that was not built with these resources, or maybe you simply don’t want these files taking up space on your machine.
Also, FYI, sneakernet is the wrong term for what you meant. Sneakernet is the transfer of files over something other than a computer network (i.e. walking a USB drive to a friend wearing sneakers).
There are reports of this work on blog.netbsd.org
This is a super useful feature that I just used. I have a DSL for algebraic data types in C++ called ASDL [2], and I wrote a very small Python plugin that pretty prints the types.
Basically it automates the process of looking at the runtime type tag, and downcasting to the right variant, so you can see all the fields in the debugger. (Variants are naturally modeled with inheritance, and you still have type safety)
This makes debugging the code way easier. I basically enhanced C++'s type system and now the debugger also understands it!
It works on the command line and the Eclipse GUI. Although I should get around to requesting an open source license for CLion, because I think it is significantly more polished.
-----
GDB is very old, and has sort of a bad reputation for usability, but it's getting better after all these years! This scripting power can make up for the usability in some cases (and maybe CLion will give the best of both worlds)
https://lobste.rs/s/h7f6qk/what_debugging_technique_did_it_t...
[1] https://tromey.com/blog/?m=201809
https://tromey.com/blog/?p=927
[2] What is Zephyr ASDL? https://www.oilshell.org/blog/2016/12/11.html
ASDL is mentioned in the post about Ungrammar, on the front page now: https://news.ycombinator.com/item?id=24878098
This is great! I really needed this multiple times over the years. Always wanted to compare some data between 2 executions of the same applications with 2 different inputs or 2 revisions of an application. This should really help with triangulation of regressions etc. automatically using a single script within gdb!