RFC: Change what assert does on error
Adam Wilson
flyboynw at gmail.com
Thu Jul 3 23:38:03 UTC 2025
On Thursday, 3 July 2025 at 10:19:18 UTC, Paolo Invernizzi wrote:
> What's preventing you to have debugging information in remote
> server environment without physical access the device?
>
> We are not in the 80 anymore, but even in the 80 ...
>
> /P
I can't hook debuggers up to code running on a remote server that
somebody else owns in a DC hundreds of miles away. Therefore the
only debugging data available is stack traces. If the language
prevents the emission of stack traces then I get ... absolutely
nothing.
But why can't I just run my code on a VM with debuggers on it?
Because direct remote access to production machines is strictly
forbidden under most security and even regulatory regimes.
Ironically, this is because direct remote access to production
machines is a FAR larger security threat than a theoretical
stack-corruption attack. All I need to get access is to subvert
the right human, which is a far less complex attack than
subverting the myriad stack protections. And is why most modern
attacks focus on humans and not technology.
All of this was covered in my yearly Security Training at
Microsoft as far back as 2015. These are well known limitations
in corporate IT security. Oh, and I spent about a year of my time
at Microsoft doing security and compliance work.
Having direct remote access to production is often a strict legal
liability (which means that if the investigation discovers that
you allow it, then it is presumed as a matter of law that the
breach came from that route and you'll be found guilty right then
and there), so you're never going to find a serious business
willing to allow it.
At Microsoft, to access production I had to fill out a form and
sign it to get access to production. Then I used a specially
modified laptop with no custom software installed on it and all
the input ports physically disabled that was hooked up to a
separate network to gain access. If I needed a tool on the
production machine I had to specifically request it from IT and
wait for them to install it, I was not allowed to install
anything on my own (which could be malware of course)
Needless to say, my manager made us spend an enormous amount of
our time making sure that we never needed access to production.
The one time I did need production access was ironically because
the extensive logging infrastructure we built crashed with no
information recorded. So if I seem a bit animated about his
topic, it's because I've been the guy whose had to resolve a
problem under the exact conditions that we're proposing here.
This is exactly the kind of choice that gets your tech banned
from corporate usage.
More information about the Digitalmars-d
mailing list