是否可以将参数作为命令行传递给gdb?

时间:2016-02-09 10:40:29

标签: c++ debugging gdb

我正在运行某人的代码并且代码在特定数据集上崩溃,但崩溃消息原样并不提供信息。我无法调用gdb然后等待(gdb)将r传递给它(事情正在集群上运行)。所以我想知道是否有任何方法可以在运行时将 r 传递给gdb,例如:

 gdb r ./run

2 个答案:

答案 0 :(得分:0)

您可以在gdb中加载程序,例如

@RequestMappping(...)
public CompletableFuture<ResponseEntity<AnyResource>> service(...){

DefaultTransactionDefinition def = new DefaultTransactionDefinition();
// explicitly setting the transaction name is something that can only be done programmatically
def.setName("SomeTxName");
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);

TransactionStatus status = this.platformTransactionManager.getTransaction(def);

CompletableFuture ...
   .thenCompose(--check--)
   .thenAsync(--save--)
   ...ect
   .thenApply(

this.platformTransactionManager.commit(status)

      return ResponseEntity.ok().body(theResource);
    );

}

然后附加到要调试的进程

$ gdb your_program_name

答案 1 :(得分:0)

您可以使用命令文件。写下要在文件中按顺序执行的所有命令。并使用该文件通过输入重定向将命令传递给gdb。

@integer/google_play_services_version