有没有办法为gdb中的进程获取信号信息(哪些信号被启用,哪些信号被阻塞,有哪些处理程序/选项)?有info signals,但它给了我gdb的信号处理信息,我需要这些信息来调试进程-例如,看看它是否阻塞了某些信号,或者看看它为那个信号安装了哪个处理程序。
如果相关的话,我的gdb是GNU gdb 6.3.50-20050815 (Apple version gdb-1515) (Sat Jan 15 08:33:48 UTC 2011)。
在Python2.7中调试脚本时,我偶尔会注入pdb.set_trace() (请注意,我实际上使用的是ipdb),例如:
import ipdb as pdb
try:
do_something()
# I'd like to look at some local variables before running do_something_dangerous()
pdb.set_trace()
except:
pass
do_something_dangerous()
我通常从shell运行我的脚本,例如
python my_script.py
有时在
我有一个用C#编写的PDF应用程序和一台.NET打印机。PDF打印机有一个字段,您可以在其中设置启动外部应用程序的命令。
在这种情况下,我可以用这台打印机打印一个文档,打印机以生成的PDF文件的文件路径作为参数启动我的EXE文件。如何在从打印机启动应用程序时对其进行调试?
在Visual Studio 2010中,我可以为命令行参数设置调试信息,这很好用。但是,如果应用程序是从打印机启动的,则应用程序不能正常工作。因此,我希望在从打印机启动应用程序时对其进行调试。我该怎么做呢?有没有在调试模式下启动EXE文件的参数,或者类似这样的东西?
我写了一个机架应用程序(),它每天锁定一到两次,我需要对应用程序进行调试。
因此,我尝试了以下内容:。我尝试使用一个简单的测试脚本进行调试:
class MyTest
def initialize
@a ||= 1
end
def something
@a += 1
puts @a
end
end
test = MyTest.new
while true do
sleep 3
test.something
end
然而,我得到了这样的结论:
(gdb) redirect_stdout
No symbol "rb_eval_strin
如果标题看起来很模糊,我的意思是,如果通过cmd或其他批处理文件调用批处理文件,那么如何使被调用的批处理文件在出现错误时不强制关闭正在调用的批处理文件?我的目的是,如果被调用的批处理文件有错误,我不会将stderr重定向为null,我将只显示它,我将使启动程序自动(用户选择)运行调试模式或大多数人称之为@echo on lol的模式,并使用户重现该错误。是调用程序的批处理文件(启动程序)。是被调用的程序。