David, thank you :) By the way, it would be perfect to have a cross platform code. Windows-only one is OK for me for now, but in case I switch to Linux (or macOS)...
On Tue, Apr 23, 2024 at 10:22 PM David M. Cotter <d...@kjams.com> wrote: > // Returns true if the current process is being debugged (either > // running under the debugger or has a debugger attached post facto). > bool CFDebuggerAttached() > { > bool debuggedB(false); > > #if defined(kDEBUG) || DEBUG > #if !defined(_HELPERTOOL_)// && !_YAAF_ > > #if OPT_WINOS > { > debuggedB = IsDebuggerPresent(); > } > #else // OPT_MACOS > { > int junk; > int mib[4]; > struct kinfo_proc info; > size_t size; > > // Initialize the flags so that, if sysctl fails for some > bizarre > // reason, we get a predictable result. > > info.kp_proc.p_flag = 0; > > // Initialize mib, which tells sysctl the info we want, in > this case > // we're looking for information about a specific process > ID. > > mib[0] = CTL_KERN; > mib[1] = KERN_PROC; > mib[2] = KERN_PROC_PID; > mib[3] = getpid(); > > // Call sysctl. > > size = sizeof(info); > junk = sysctl(mib, sizeof(mib) / sizeof(*mib), &info, > &size, NULL, 0); > assert(junk == 0); > > // We're being debugged if the P_TRACED flag is set. > > debuggedB = ( (info.kp_proc.p_flag & P_TRACED) != 0 ); > } > #endif // OPT_MACOS > #endif // !defined(_HELPERTOOL_) && !_YAAF_ > #endif // DEBUG > > return debuggedB; > } > > > > On Apr 23, 2024, at 7:33 AM, Alexander Dyagilev <alervd...@gmail.com> > wrote: > > > > Hello, > > > > Is there a simple way to detect it? > > > > What I would like to achieve is to perform some debug check similar to > one Q_ASSERT does, but instead I want it to just print to console in case > the app is NOT running under debugger and fall back to Q_ASSERT behavior > otherwise (so I can see the stack trace then). > > _______________________________________________ > > Interest mailing list > > Interest@qt-project.org > > https://lists.qt-project.org/listinfo/interest > >
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest