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