On Mon, 15 Feb 2021 20:19:51 GMT, Chris Plummer <[email protected]> wrote:
>> Add "findsym" to clhsdb. See the CR and CSR for details. The >> [CSR](https://bugs.openjdk.java.net/browse/JDK-8261101) still needs a >> reviewer. >> >> There is a fix in LinuxDebuggerLocal_lookupByName0() to allow passing in >> NULL for the dso name. This is allowed, and in fact even not null it gets >> ignored. It is needed by the new findsym support in order for the following >> to work, which passes in null for the dso name: >> >> ` Address addr = VM.getVM().getDebugger().lookup(null, symbol);` >> >> There is one other somewhat unrelated fix in the test: >> >> - String value = parts[1]; >> + String value = parts[1].split(linesep)[0]; >> >> This is suppose to capture just the value at the specified address, but it >> also captures the newline and some text after. The result if that when >> `findpc <value>` is executed, it also executes another command or two of >> garbage commands after that, which produce errors. They were not impacting >> the test, but were noticeable in the log. I first noticed it when similar >> code in the new part of the test had the same issue. > > Chris Plummer has updated the pull request incrementally with one additional > commit since the last revision: > > Fix issue with findsym on windows build that doesn't have symbolic > information. Changes requested by amenkov (Reviewer). src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp line 350: > 348: // Note, objectName is ignored, and may in fact be NULL. > 349: // lookup_symbol will always search all objects/libs > 350: //AutoJavaString objectName_cstr(env, objectName); I think it would be better to update AutoJavaString class to handle null strings: `m_buf(str == NULL ? NULL : env->GetStringUTFChars(str, NULL)) ` ------------- PR: https://git.openjdk.java.net/jdk/pull/2567
