Kdbg pid() 调用源代码

Kdbg pid() call in source

本文关键字:调用 源代码 pid Kdbg      更新时间:2023-10-16

我一直在看kdbg源代码。我注意到有几个地方出现了以下源代码行:

::kill(pid(), SIGINT);

我的问题是我无法理解 pid(( 在哪里实现的。从我在网络上的搜索来看,这似乎不是系统调用。对 kdbg 源代码树进行 Grepping 并没有产生任何实现它的线索。

我在C++方面没有经验,尽管我已经做了很多年的 C 开发。这是相当令人费解的。有人有什么想法吗?

cd tmp
git clone git://repo.or.cz/kdbg.git
grep -lrE "pid()" *
>kdbg/gdbdriver.cpp
>kdbg/xsldbgdriver.cpp
>kdbg/dbgdriver.cpp
>kdbg/dbgmainwnd.cpp
grep -C 20 "pid()" kdbg/gdbdriver.cpp
>.... Extra stuff
>void GdbDriver::interruptInferior()
>{
>    ::kill(pid(), SIGINT);
>.... Extra stuff
echo "Ah, it's a class... I bet pid()is a function"^C
echo "After following the inheritance chain, I found..."^C

http://doc.qt.io/qt-5/qprocess-obsolete.html#pid

这是一个QProcess成员函数。此类继承自从 QProcess 继承的类。=)