나는 웹 애플리케이션 방화벽에 새로 온 사람과 할 내가 자주 사용하는 트릭을하는 GNU에 아날로그를 구현하려고합니다.
waf에 대한 GDB 작업을 작성했으며이를 사용하는 기능인 GDB 작업을 작성하여 최상위 명령에 연결했습니다. 하지만 GDB에서 입출력을 볼 수는 없습니다. 그것은 ps
에 따르면 달리고있다. 그러나 나는 따라 놀 수있는 것처럼 보이지 않는다.
waf에서 이런 일이 발생하도록하는 방법이 있습니까?
편집 : 여기에 스크립트의 관련 부분이야, 내 생각 : 그것은 잘 작동하지만 내가 오프 --batch
을 경우, 그냥 실행시 아무 출력을 중단
class gdb_task(Task):
def run(self):
cmd = [ self.env.GDB, '--silent', '--batch' ]
for script in self.inputs[:-1]:
cmd.extend(['-x', script.abspath()])
cmd.append(self.inputs[-1].abspath())
return self.exec_command(cmd)
color = 'CYAN'
def runnable_status(self):
return RUN_ME
def keyword(self):
return 'GDB'
def __str__(self):
node = self.inputs[-1]
return node.path_from(node.ctx.launch_node())
. 당신이 원하는 무엇
waf wscript를 게시하여 문제를 재현 할 수 있습니까? 이 파이썬 one-liner는 나를 위해 작동한다 :'python -c 'import subprocess; subprocess.call ([ "gdb", "a.out"]) '.' – ks1322
저는 거의 waf가 subprocess.call을 사용하지 않고 있습니다. I/O 스트림을 소비해야한다고 생각합니다. –