With tcc, -b and -bt make the program print the names of variables and functions when a bad pointer is dereferenced or a bad pointer is created via an array access.
Just fixed a memory corruption bug after months of debugging (hard to reproduce bug)after enabling this flags mentioned in the video ,had to forcefully enable these flags in a debug build to debug at customer site . learned a lot from this channel , thank you .Always recommend this channel to my peers who work on embedded networking stuff .
Yes, please do one on shadow memory. Also, i know itd make the videos longer, but for videos like this i think itd ve really helpful if you gave even a brief synopsis of other options for flags like -fsanitize. Like, what else can be used other than address and what do those options do. I know i coukd look it up, but you explain things so well that a quick synopsis woukd be an excellent starting point.
Nice intro, but it would be nice if you could help interpret how the debug feedback that fsanitize gives in order to trace it back to where the error occurs in the code.
Random question, but Do you have a degree in Electrical engineering Computer engineering, or Computer Science? Which is best for embedded systems work?
I would recommend computer engineering. It'll be a little more practical for integrating embedded systems into other systems. Use that as a starting point then add additional courses and modules that expand on it.
Some universities are now offering Embedded Engineering Degrees directly. Computer engineering, however, is good for a dedicated hardware background for the degree and having a hardware level understanding is good to have. I personally dual enrolled in both Computer Engineering and Computer Software Engineering to get into embedded.
Hi Jacob, can you make a video of Heaptrack. It is a very useful memory management tool. The point is that you can attach it to the process at runtime and no need to compile. And a great GUI for analysing memory.
DId you see my recent comment on C89 templates that I made on your "Don't write clever code" vid? Just checking since I know sometimes comments get unnoticed due to a variety of things such as life itself.
Write down the stuff you want to remember, memory is volatile and you'll forget what you want so writing in a notebook is best 👍
I can recommend fleeting notes + obsidian or notion for those cloud freaks
With tcc, -b and -bt make the program print the names of variables and functions when a bad pointer is dereferenced or a bad pointer is created via an array access.
Just fixed a memory corruption bug after months of debugging (hard to reproduce bug)after enabling this flags mentioned in the video ,had to forcefully enable these flags in a debug build to debug at customer site . learned a lot from this channel , thank you .Always recommend this channel to my peers who work on embedded networking stuff .
I look forward to these videos. I know the good Dr doesn’t always have the time to make them but they are much appreciated.
Yess, please more on shadow memory👍
Yes, please do one on shadow memory. Also, i know itd make the videos longer, but for videos like this i think itd ve really helpful if you gave even a brief synopsis of other options for flags like -fsanitize. Like, what else can be used other than address and what do those options do.
I know i coukd look it up, but you explain things so well that a quick synopsis woukd be an excellent starting point.
thank you for this!
i found atleast 3 overflows in my code and im fixing it
Sensei where have you been? Missed you and great to "C" you! 😊
Nice intro, but it would be nice if you could help interpret how the debug feedback that fsanitize gives in order to trace it back to where the error occurs in the code.
bro there is a stack trace!?
Random question, but Do you have a degree in Electrical engineering Computer engineering, or Computer Science? Which is best for embedded systems work?
I would recommend computer engineering. It'll be a little more practical for integrating embedded systems into other systems. Use that as a starting point then add additional courses and modules that expand on it.
I also recommend computer engineering because it gives you versatility on what you can make.
Some universities are now offering Embedded Engineering Degrees directly. Computer engineering, however, is good for a dedicated hardware background for the degree and having a hardware level understanding is good to have.
I personally dual enrolled in both Computer Engineering and Computer Software Engineering to get into embedded.
Yes, we want to see the video on 'shadow memory'! AND we want to see the video/s on encryption function/s! :)
Thank you :)
Superb tool. Thanks for this knowledge
This was great. I'm still using a 2009 iMac, and I can' use valgrind in the Terminal, but I can use -fsanitize=address.
You may also be able to use macos "leaks" command. "leaks --atExit -- ./${EXECUTABLE}
Nice tutorial
You might want to use `make -B` instead of `make clean; make`
-B, --always-make Unconditionally make all targets.
Yes, Please make a video on shadow memory
Can this ASAN can find memory bugs in heap memory?
You should create a playlist for these c++ videos.
Hi Jacob, can you make a video of Heaptrack. It is a very useful memory management tool. The point is that you can attach it to the process at runtime and no need to compile. And a great GUI for analysing memory.
hello
I use valgrind on linux, but a friend is coding on a mac and we don’t know how to use valgrind there. What would be the best replacement please?
where can i get T-shirts like the one you were ? Looks awesome
Yes please can we have a video on shadow memory.
Hi, there is also -fsanitize=thread, just in case.
Very good video
Does this detect vtable overrides? If not, what does?
memory issues it have other option like thread sanitizer check data race..
DId you see my recent comment on C89 templates that I made on your "Don't write clever code" vid? Just checking since I know sometimes comments get unnoticed due to a variety of things such as life itself.
awesome
😎
First 😅
Waiting for such videos but in rust🦀