[lldb-vscode] Ensure that target matches the executable file
This commit fixes an issue with lldb-vscode failing to run programs that use different architecture/platform than the "empty" in the target. Original implementation was creating a default target without specifying the target architecture, platform or program, and then would set executable file through SBLaunchInfo, assuming that this would update architecture and platform accordingly. However this wasn't really happening, and architecture and platform would remain at whatever values were in the "empty" target. The simple solution is to create target already for a desired architecture and platform. Function request_attach is updated in a similar fashion. This commit also adds new JSON properties to "launch" and "attach" packets to allow user to override desired platform and architecture. This might be especially important for cases where information in ELF is not enough to derive those values correctly. New code has a behavior similar to LLDB MI [1], where typically IDE would specify target file with -file-exec-and-symbols, and then only do -exec-run command that would launch the process. In lldb-vscode those two actions are merged into one request_launch function. Similarly in the interpreter session, user would first do "file" command, then "process launch" Differential Revision: https://reviews.llvm.org/D70847 Signed-off-by:Anton Kolesov <anton.kolesov@synopsys.com>
Loading
Please register or sign in to comment