Stefan Reinalter (@molecularmusing) 's Twitter Profile
Stefan Reinalter

@molecularmusing

Founder of Molecular Matters • C++ & low-level programming • Created Live++ (@liveplusplus)
liveplusplus.tech

ID: 577322184

linkhttps://molecular-matters.com/ calendar_today11-05-2012 15:45:26

9,9K Tweet

5,5K Followers

563 Following

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

Probably one of my favourite tricks for finding memory stomps: 1) On alloc: put allocation at very end of separate page, followed by a NoAccess page. 2) On free: mark allocated pages as NoAccess. Guaranteed to find even one-byte stomps and use-after-free. #cpp

Probably one of my favourite tricks for finding memory stomps:
1) On alloc: put allocation at very end of separate page, followed by a NoAccess page.
2) On free: mark allocated pages as NoAccess.

Guaranteed to find even one-byte stomps and use-after-free.

#cpp
Marek Knápek (@marekknapek) 's Twitter Profile Photo

Stefan Reinalter Yeah, if you are using plain old new/delete or malloc/free and you are on Windows, there is Application Verifier that does exactly this for you. For free. Works nice without the need to recompile your app. Works even without source code. It is built-in into HeapAlloc family...

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

Didn't have a particularly good day today for various business reasons, but received some brilliant feedback about Live++ from a new customer that really saved the day :).

Ritesh Oedayrajsingh Varma (@rovarma) 's Twitter Profile Photo

I should write up my full thoughts on frame pointer omission sometime, but in short, it is such a terrible tradeoff, and such a terrible default. “Your software is now marginally faster, and in exchange you can no longer profile anything, because who needs that”

I should write up my full thoughts on frame pointer omission sometime, but in short, it is such a terrible tradeoff, and such a terrible default.

“Your software is now marginally faster, and in exchange you can no longer profile anything, because who needs that”
Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

Due to unforeseen circumstances and a major blunder on my current host's behalf: I'm looking for a new RELIABLE server host, managed/dedicated. Recommendations? Contacted Hetzner already, but haven't heard back in 2.5 days, which does not instill confidence. How is their support?

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

After debugging for a week, I guess I'm a member of the "have to work around a platform SDK bug" now. Do I get a medal or something?

After debugging for a week, I guess I'm a member of the "have to work around a platform SDK bug" now.

Do I get a medal or something?
Dan Olson (@olson_dan) 's Twitter Profile Photo

The interesting thing to me is that the skills that are valuable are developed by spending lots and lots of time doing the things that are being replaced. That will become a problem at some point.

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

New personal record: MSFT fixed a bug I reported more than 7 (!) years ago: developercommunity.visualstudio.com/t/Dereferencin… Though I hope it's been fixed already a long time ago and they just made a cleanup of the bug database...

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

I really hope they choke on their 80 billion AI investment. At the end of the day, every creative human working on one of those projects is just a single entry in an Excel sheet. What a colossal waste of talent and money, acquiring studios to shut them and their project down.

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

Trying to debug a VSIX extension by launching with F5 in VS, which opens a debuggable, experimental VS instance must be the ultimate "Why is everything *sooo* slow?" experience. Try it.

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

Just found a case where the compiler emits a symbol in .bss with a different name, depending on whether optimizations are turned on or off, which messes with Hot-Deoptimize. There are so many strange things I learn about compilers.

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

Here's a Compiler Explorer link: godbolt.org/z/Mc6s3bvea With optimizations, Clang will add a ".0" suffix (don't know why) to the name, so e.g.: struct POD { int value; }; // name with -O1: "_ZL5g_pod.0" // name with -O0: "_ZL5g_pod" static POD g_pod;

Live++ (@liveplusplus) 's Twitter Profile Photo

Live++ 2.9.3 out now: liveplusplus.tech/releases.html Last month was busy! A lot of bugfixes across all platforms and vastly improved loading times for projects with several dozens of dynamic libraries. Extra thanks to Resmi Hasankolli from EA for his help with Frostbite support. #cpp

Live++ 2.9.3 out now:
liveplusplus.tech/releases.html

Last month was busy!
A lot of bugfixes across all platforms and vastly improved loading times for projects with several dozens of dynamic libraries.

Extra thanks to Resmi Hasankolli from EA for his help with Frostbite support.

#cpp
Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

I just had an idea for Live++ 3 for something that no other middleware - hot-reload solution or otherwise - allows you to do, which could be tremendously helpful for debugging.

Matt (@matt_dz) 's Twitter Profile Photo

Stefan Reinalter That would be the GlobalOptPass, godbolt.org/z/nYbrWsdos or in particular `GV->getName() + "." + Twine(NameSuffix++)` in `SRAGlobal`: github.com/llvm/llvm-proj… or `GV->getName()+"."+utostr(i)` originally added in the first version of `SRAGlobal` here: github.com/llvm/llvm-proj….

Stefan Reinalter (@molecularmusing) 's Twitter Profile Photo

Here we go: Hot-Redirect. Hook any function in any module to your own implementation, hot-reload that as often as you want. Can all be done on the fly. And the best: got it working on consoles too, which I believe is a first. Think DTrace & ProcMon & Hot-Reload on steroids.