Page MenuHomePhabricator

Hui (Hui Huang)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 26 2018, 2:52 PM (46 w, 6 d)

Recent Activity

Thu, Jan 17

Hui added a comment to D56230: [gdb-remote] Use lldb's portable Host::GetEnvironment() instead of getenv.

It could be the llvm::sys::flattenWindowsCommandLine issue to flatten the command “dir c:\" for Windows Command Terminal.
However it is not an issue for PS or MingGW.

Thu, Jan 17, 9:05 AM
Hui added a comment to D56230: [gdb-remote] Use lldb's portable Host::GetEnvironment() instead of getenv.

I've always disliked this argument and hoped that someday someone would remove it entirely. My recollection (which may be wrong) is that the only actual use of it is so that if someone types a command, and we later need to print the command back, we will print it with the same quote char. It almost seems like we could just delete the argument and use a standardized quote char when flattening a command string.

+100

BTW, today I've tried to switch ProcessLauncherWindows to flattenWindowsCommandLine and this change alone was enough to fix TestQuoting, which has some tests XFAILed for windows due to quoting problems. I haven't sent out a patch yet because that has also broken platform shell dir c:\ for some reason, and I haven't gotten around to investigating that. If you (for any value of you) have some time, I'd encourage you to look into that. Otherwise, I'll get to that eventually.

Thu, Jan 17, 8:07 AM

Tue, Jan 15

Hui added a comment to D56230: [gdb-remote] Use lldb's portable Host::GetEnvironment() instead of getenv.
  • drop the if (m_entries[i].quote) branch. You don't need it here, and I don't believe it will be correct anyway, because all it will do is cause llvm::sys::flattenWindowsCommandLine to add one more quote level around that and escape the quotes added by yourself
Tue, Jan 15, 11:18 AM
Hui added a comment to D56230: [gdb-remote] Use lldb's portable Host::GetEnvironment() instead of getenv.

For example, for a Args vector like lldb-server, gdb-remote, --log-channels=foo\\\ \\\""" ''', whatever, QuoteForCreateProcess would return
lldb-server gdb-remote "--log-channels=foo\\\ \\\\\\\"\"\" '''" whatever (there are other ways to quote this too). Passing this string to CreateProcess will result in the original vector being available to the main function of lldb-server, which is what this code (and all other code that works with the Args class) expects.

Btw, there is already code for doing this in llvm (llvm::sys::flattenWindowsCommandLine), so we can just steal the implementation from there.

Tue, Jan 15, 10:16 AM

Fri, Jan 11

Hui added a comment to D56232: [lldb-server] Add remote platform capabilities for Windows.

Is that even necessary? If a platform is not remote aware, IsHost() will always just return true by definition. So we could put all of this in the existing Platform base class.

I remember looking at this a while a go and concluding against it, but i'm not sure if it was impossible of just I didn't like the result.

The issue here is that PlatformWindows and PlatformPosix already have a m_remote_platform member (which normally is an instance of PlatformRemoteGDBServer). To move the common class into the base one, we'd need to move this member too. That would mean that any platform has a "remote" member, even those that already are "remote". That sounds a bit weird.

Fri, Jan 11, 4:53 PM
Hui added a comment to D56230: [gdb-remote] Use lldb's portable Host::GetEnvironment() instead of getenv.

I think the key problem here is to make sure the argument will be treated as a single argument to the process launcher.

Fri, Jan 11, 2:01 PM

Thu, Jan 10

Hui added a comment to D56234: [lldb-server] Add unnamed pipe support to PipeWindows.

Looks very nice. Thanks.

Thu, Jan 10, 12:16 PM

Wed, Jan 9

Hui added inline comments to D56234: [lldb-server] Add unnamed pipe support to PipeWindows.
Wed, Jan 9, 2:43 PM

Tue, Jan 8

Hui added inline comments to D56230: [gdb-remote] Use lldb's portable Host::GetEnvironment() instead of getenv.
Tue, Jan 8, 2:58 PM

Fri, Jan 4

Hui added inline comments to D56230: [gdb-remote] Use lldb's portable Host::GetEnvironment() instead of getenv.
Fri, Jan 4, 2:02 PM
Hui added a comment to D56229: [PECOFF] Implementation of ObjectFilePECOFF:: GetUUID().

Not quite sure but correct me if i am wrong.

Fri, Jan 4, 1:36 PM
Hui added a comment to D56231: [lldb-server] Improve support on Windows.

With all the aaron's pending reviews on lldb-server, I could try the patch with the following platform apis.

Fri, Jan 4, 1:05 PM

Nov 15 2018

Hui added inline comments to D54544: Implement basic DidAttach and DidLaunch for DynamicLoaderWindowsDYLD.
Nov 15 2018, 1:38 PM

Oct 26 2018

Hui added inline comments to D53759: [PDB] Support PDB-backed expressions evaluation.
Oct 26 2018, 8:25 AM · Restricted Project
Hui added inline comments to D52618: [Windows] A basic implementation of memory allocations in a debuggee process.
Oct 26 2018, 7:31 AM · Restricted Project

Oct 22 2018

Hui added a comment to D53375: [PDB] Improve performance of the PDB DIA plugin.

Thanks for adding the cache. We noticed the slowdown also and were discussing the same thing. This LGTM if the other reviewers done have any comments.

Oct 22 2018, 1:36 PM · Restricted Project

Oct 10 2018

Hui added inline comments to D53094: [pecoff] Implement ObjectFilePECOFF::GetDependedModules().
Oct 10 2018, 6:38 PM
Hui added inline comments to D53002: Create a new symbol file plugin for cross-platform PDB symbolization.
Oct 10 2018, 5:19 PM

Sep 30 2018

Hui added a comment to D52461: [PDB] Introduce `MSVCUndecoratedNameParser`.

Try to use and extend CPlusPlusLanguage::MethodName as needed. I believe it was recently backed by a new clang parser that knows how to chop up C++ demangled names

It seems that CPlusPlusLanguage::MethodName is backed by LLDB CPlusPlusNameParser, which can't parse demangled names... Can you tell me, please, how is called a new Clang parser you have mentioned? May be I'll use it directly instead of PDBNameParser, or will back PDBNameParser by it (if the interface will be not very convenient)?

Sep 30 2018, 8:58 AM · Restricted Project

Jul 24 2018

Hui added inline comments to D45123: [CodeView] Emit function options for subprogram and member functions.
Jul 24 2018, 4:26 PM
Hui added inline comments to D45123: [CodeView] Emit function options for subprogram and member functions.
Jul 24 2018, 3:19 PM

Jul 20 2018

Hui added inline comments to D49410: [PDB] Parse UDT symbols and pointers to members.
Jul 20 2018, 1:04 AM
Hui added inline comments to D49410: [PDB] Parse UDT symbols and pointers to members.
Jul 20 2018, 1:01 AM

Jul 18 2018

Hui added inline comments to D49410: [PDB] Parse UDT symbols and pointers to members.
Jul 18 2018, 10:49 PM
Hui added inline comments to D49410: [PDB] Parse UDT symbols and pointers to members.
Jul 18 2018, 10:33 PM
Hui added inline comments to D49410: [PDB] Parse UDT symbols and pointers to members.
Jul 18 2018, 10:07 PM
Hui added inline comments to D49410: [PDB] Parse UDT symbols and pointers to members.
Jul 18 2018, 10:02 PM
Hui added inline comments to D49410: [PDB] Parse UDT symbols and pointers to members.
Jul 18 2018, 9:57 PM
Hui added inline comments to D49410: [PDB] Parse UDT symbols and pointers to members.
Jul 18 2018, 9:53 PM

Feb 26 2018

Hui added inline comments to D43060: [CodeView] Lower __restrict and other pointer qualifiers correctly.
Feb 26 2018, 4:33 PM
Hui added inline comments to D43060: [CodeView] Lower __restrict and other pointer qualifiers correctly.
Feb 26 2018, 3:21 PM