发明名称 Tracking specific Java native interface invocations of system and library calls
摘要 Methods and systems may track the invocation path of a system or a library call from Java native interface (JNI) in Java applications. A native call of interest having an associated failure condition, an invocation path associated with the native call of interest, and a Java boundary crossover method (Java method invoking a JNI method) within the invocation path may all identified based on failure diagnostic information. The identified information may also be fed to a Java virtual machine (JVM). When the application is re-run, a check can be made prior to execution of the JNI method, as to whether the Java boundary crossover method is being executed. If so, then the execution stack may be compared to the invocation path of interest.
申请公布号 US9092369(B2) 申请公布日期 2015.07.28
申请号 US201213664529 申请日期 2012.10.31
申请人 International Business Machines Corporation 发明人 Devegowda Amar;Lakshminarayanachar Venkataraghavan;Palaniappan Sathiskumar;Verma Anshu
分类号 G06F9/44;G06F11/14 主分类号 G06F9/44
代理机构 Jordan IP Law, LLC 代理人 Jordan IP Law, LLC
主权项 1. A computer implemented method comprising: identifying a call of interest having an associated failure condition, wherein the call of interest includes one or more of a system call and a library call; identifying an invocation path associated with the call of interest, wherein the invocation path includes a Java boundary crossover method and a native method call to the call of interest, the Java boundary crossover method including a Java application programming interface (API) call to a Java native interface (JNI) call that invokes the native method call to the call of interest having the associated failure condition; detecting an execution of the crossover method including the Java API call to the JNI call that invokes the native method call to the call of interest having the associated failure condition; comparing an execution stack to the invocation path in response to detecting the execution of the crossover method to determine a match condition between the execution stack and the invocation path, wherein the execution stack includes a sequence of methods that form the entire execution stack and the invocation path includes a sequence of methods that form the entire invocation path; and setting a trace flag if the match condition is satisfied between the execution stack and the invocation path to output trace information that is associated with the call of interest, wherein the match condition is satisfied when the entire execution stack matches the entire invocation path, and wherein the trace flag corresponds to a thread associated with the execution of the crossover method and is set ensure that the trace information is specific to the thread.
地址 Armonk NY US