আপনি পাইথন ইন্টিগ্রেশনটি এটিতে করতে পারেন gdb
।
এটি ভাল হবে যদি s ; bt
পদক্ষেপ এবং তারপরে একটি ব্যাকট্র্যাস প্রিন্ট করে তবে তা হয় না।
পাইথন দোভাষীকে কল করে আপনি একই জিনিসটি সম্পাদন করতে পারেন।
python import gdb ; print(gdb.execute("s")) ; print(gdb.execute("bt"))
এটি একটি ডেডিকেট কমান্ডে গুটিয়ে ফেলা সম্ভব, এখানে "সেন্টিমিডস" বলা হয়, এটি পাইথনের সংজ্ঞা দ্বারা সমর্থিত।
.gdbinit
একাধিক কমান্ড চালানোর জন্য একটি ফাংশন সহ এখানে বাড়ানো একটি উদাহরণ ।
# multiple commands
python
from __future__ import print_function
import gdb
class Cmds(gdb.Command):
"""run multiple commands separated by ';'"""
def __init__(self):
gdb.Command.__init__(
self,
"cmds",
gdb.COMMAND_DATA,
gdb.COMPLETE_SYMBOL,
True,
)
def invoke(self, arg, from_tty):
for fragment in arg.split(';'):
# from_tty is passed in from invoke.
# These commands should be considered interactive if the command
# that invoked them is interactive.
# to_string is false. We just want to write the output of the commands, not capture it.
gdb.execute(fragment, from_tty=from_tty, to_string=False)
print()
Cmds()
end
উদাহরণ প্রার্থনা:
$ gdb
(gdb) cmds echo hi ; echo bye
hi
bye
execlp("gdb", "gdb", "-batch", "-n", "-ex", "bt full", ...
এবং আমি পৃষ্ঠাটি বন্ধ করতে পারি না।