Summary: 649 instances, 568 unique Text Count // // TODO: seems like a dbgeng bug... 1 # TODO: assert( false ): we trimmed the string so if there were no 1 // TODO: similar, should I expose all the errors if there were > 1? 1 // TODO: once we get into here, we're probably in a bad state, because 1 // TODO: Some sort of "symbol null" exception? 1 // TODO: Perhaps we should do the " not accessible" check and warning 1 // not consider implicit conversion to bool. TODO: ask them to. 1 // TODO add a capability to return a enumerator of output lines. (and/or maybe a delegate callback) 1 // TODO: potential perf problem: uncomment this line, and note that it gets hit a lot--once 1 throw new DbgEngException( 1 /*S_FALSE*/ ); // TODO: better error 1 1 // TODO: Hmm... not sure what's the best thing to do here. Return just the 1 // TODO: we should probably set input callbacks too, in case something wants input? 1 // TODO: Do the managed stack frame pointers match up with the native frame pointers??? 1 return default( TView ); // satisfy compiler TODO: make this better 1 // TODO: Wildcard support? 1 public class DbgExceptionEventFilter : DbgEventFilter // TODO: IEquatable? 1 // TODO: We used to need to be able to load v2 components because of some test 1 // TODO: see if we can get PS to preserve the as-typed value for 1 public SwitchParameter DisplayError { get; set; } // TODO: implement 1 _notRCW = true; // TODO FIX NOW review. We really want to simply ask the runtime... 1 // TODO: a possible mitigation is if we detect an invalid control code or somesuch, 1 // [danthom] TODO: What to do about this? 1 // TODO: I don't really know what a change in symbol "scope" 1 // TODO: There is no static factory method. Should I provide one? We'd only need 1 // TODO: SymTags should always be available for type info symbols. But if it's 1 // TODO: lazily? 1 // as when the address is piped in. TODO: can we change PowerShell to 1 // TODO: might need to failfast... 2 // TODO: 2 // TODO: What about namespace stuff? 2 // TODO: more options for uf?. 1 // TODO: How about co-(or is it contra-)variance? (should we get base types of the element type, like we do for pointers?) 1 // TODO: can I get the log file name? 1 // TODO: should I use ambient_dml or ambient_text, or what? 1 # TODO: Need to be able to show DbgShell-style path string 2 // TODO: What is CAB_SECONDARY_ALL_IMAGES for? DbgEng.h says 1 # TODO: Minor bug: if you type "foo.dl" and then [TAB] expecting it to complete to 1 // TODO: If this returns 0x80004002 (E_NOINTERFACE), then 1 // TODO: Enable default values. 1 // TODO: This is the same as the DbgNativeFunction... factor out? 1 // TODO: But couldn't I go faster by using NonWildcardParameterCount? 1 // TODO: or should this be internal 1 // TODO implement 1 // TODO: Do we need to set the apartment state? 1 // TODO TODO: factor out this duplicated code 1 // TODO: should I do anything with any output? 1 // TODO: or should it be public? 1 // TODO: BUGBUG: When mounting a dump file, I get this callback before I 1 // TODO: I should probably add more, better tests. 1 // comment: "TODO: temp workaround for generated types..." It seems to be 1 // TODO: And maybe for array types, we'd like to include the array type /with/ dimensions, 1 /// TODO: BUG# 1 //public uint fOptions { get; private set; } // TODO: enum? 1 // TODO: Hmm... I wonder if it's possible to get a symbol with ",," (which 1 // TODO: I'm not sure that I like this mutation... On the other hand, 1 // TODO: replace with S.M.A.Alignment? 1 // TODO: Should I have a separate DbgHelpException class? 1 // TODO: I have no idea if this is the right size; MSDN says "Boolean", not "BOOL"... 1 // TODO: unless SVC returned a pointer and we decided to keep chasing it? 1 catch( DbgProviderException dpe ) // TODO: different exception type? 1 // TODO TODO: handle more than one 1 # TODO: wildcard support 2 // TODO: Uh-oh, these VARIANT-related APIs are obsolete... 1 // TODO: what to do about this? 4 // TODO: Make sure the formatting is working such that we are not waiting 1 // work. (TODO: file a bug) We'll still do it, in case they ever fix it, 1 # TODO: Using 'Flink' won't work for singly-linked lists (the link pointer 1 # TODO: BUGBUG: I should probably get rid of this caching stuff, because it won't work 1 // TODO: ClrMd's DbgEngDataReader caches this bit of info. 1 // TODO: Ideally we wouldn't deal with this at this layer; we would 1 // TODO: value unavailable exception? 2 string timestamp, // TODO: I don't even know what format this is in... I think a hex number of certain size, but I'm not sure 1 // TODO: Threading requirements when connected to a remote? 1 // TODO: Apparently, even though I gave the runspace config to the 1 // TODO: Investigate DebugCreateEx 1 // TODO: BUGBUG? Is this going to wipe out a frame context? 1 // TODO: This changes the order of stuff in the tree (and 1 // to work as a workaround. TODO: ask if it's a bug? 1 // TODO: Rewrite the assert to check for sets; that is, there are certain sets of 1 // TODO: functions, nested types, etc. 1 // TODO: check user-mode? 1 // TODO: or should we let the .Value access throw? 1 // TODO: options for how the stack should be displayed 1 // TODO: This should be easily supportable... 1 // // TODO: Can I narrow the scope of this type down? 1 // TODO: test that after going from two targets to one. 1 // TODO TODO TODO: Test error conditions (what if init scripts fail, etc.). 1 // TODO: Better "not found" error? 1 // TODO: we could run the script through the parser and warn 1 // TODO: I think this does not work for some pseudo registers (like $peb), 1 // TODO: can we get the debugger engine Id and system pid of the new process? 1 // TODO: Does this need to happen on the dbgeng thread? 1 // TODO: Would be nice to get rid of the requirement to have the 2 // TODO: This is for attaching to a debugging server. Need to test it. Other cases? 1 //private bool m_isReadOnly; // TODO: make this thing freezable? 1 // TODO: Need to add TargetFriendlyName property or something. 2 # TODO: comment below accurate? 3 // // TODO: what 1 // TODO: pick up VT100-related changes from PowerShell 1 // TODO: a protected constructor that takes a name/path only, and finds the 1 # TODO: COLORIZE 1 // TODO: perhaps this should be private as well, to prevent ill-formed templateName. 1 // TODO: Might be nice to put this in a different class or something, as it is not 1 // TODO: might want to put a cap on maxCch? 1 Size = Item.Debugger.TargetIs32Bit ? 4 : 8; // TODO: There should be a better way 1 // TODO: Should we do anything with the exitCode? We could let the 1 // TODO: What if there is no Host.UI.RawUI? 1 // TODO: get rid of useless symbol.children? or somehow reconcile with the 1 // TODO: what? 1 string helpText, // TODO: what to do with this? 1 // TODO: Some sort of "symbol not found" exception 1 // TODO: add another Util.FormatBytes overload? 1 // TODO: should we throw some sort of DbgProviderException here? The idea 1 // TODO: handle 'recurse' 1 // TODO: Should I handle exceptions and return null? 1 // TODO: or should this be internal? 1 // TODO: I believe there's a way to get a DML link to pop open a browser. 1 // TODO: Is it worth writing the code to just grab a single filter? 1 WriteError( ioe, "InvalidMove", ErrorCategory.InvalidOperation, destination ); // TODO: or should the targetObject be 'path'? 1 # TODO: What do the flags mean? For now I'll just stick 'em on. 1 // TODO: powershell-ize 1 // TODO: I would really like to be able to put an OutputTypeAttribute on this 1 // TODO: this is super awkward... 1 // TODO: cache in namespace? 1 // TODO: I don't think I need this call to cache the current context anymore. 1 // TODO: I guess the end key could just be the type id; doesn't need to be the whole TypeInfoDict. 1 // TODO: Rationalize with IMAGEHLP_MODULE64 in ClrMd 1 // TODO: This is a kludge. Perhaps there should at least be a user-accessible 1 LogManager.Trace( "Connecting to remote with parameters: " ); 1 # TODO: Will this happen for public symbols? Maybe people should be able 1 // TODO: progress output? 1 WriteError( ioe, "MoveFailed", ErrorCategory.WriteError, destination ); // TODO: or should the targetObject be 'path'? 1 // TODO: this will be nice to have for automated debug monitor-type thingies 1 // TODO: don't check this here... catch and write instead 1 // TODO: parse args 1 // TODO: Figure out how to get the data into a Decimal? 3 // TODO: Should I expose the ability to get other translations? 1 // TODO: Or should I just -ReAttach for them? 1 /// someone captures context using CapturePsContext(). TODO: CapturePsContext() 1 # TODO: Assert $null -ne $currentSteppablePipeline 4 1 // TODO: Check for "pushed" runspace, do "remote" prompt? 1 // TODO: shouldn't be public, right? 1 // TODO: test this! 1 // TODO: can I get the module name? 1 // TODO: These params are pretty hokey. Should I remove them? I've left them in 1 // TODO: maybe I want this always turned on?? I had a case where an Ioctl returned S_OK, 1 "BCD", // btBCD = 9, // TODO: <-- what's that? 1 // TODO: write error... remove callback? failfast? 1 // TODO: Is this sufficient? I wonder what a function pointer that returns 1 withContext = new PsContext(); // TODO: share a single, readonly Empty context 1 # TODO: What about options like -Scope? 1 // TODO: apparently it can return S_FALSE, meaning it "already 1 # TODO: Assert $null -ne $currentSteppablePipeline 4 // TODO: Would be nice if dbgeng could give proper progress output somehow. 1 // TODO: What to do if it spans more than a line? Just truncate? Issue a 2 // TODO: This class currently assumes that the register values are static. Need to handle 1 // TODO: This is also called "offset" in a lot of places. I think 'Address' is 2 // TODO: Better error? Or maybe we shouldn't throw if templateFilter has wildcards... 1 // TODO: Display it 'inline', since it is 'inline' to its parent? 1 byte[] data = new byte[IntPtr.Size * 3]; // TODO assumes bitness same as dump 1 // TODO: BUGBUG: We have no way to know what the process context 1 // TODO: Or should it be pso.ToString here? 1 public string View { get; set; } // TODO: implement 1 // TODO: normally you don't want to throw from Dispose, so maybe I should 1 // TODO: Should we have a specific exception type for this? 1 // TODO: actually... I could probably just set this in BeginProcessing... my only 1 // TODO: Get $FormatEnumerationLimit 1 if( $null -eq $objToDealWith ) # TODO: Do I need to handle [System.Management.Automation.Internal.AutomationNull]::Value? 8 # TODO: When did "new-style" critsecs show up? Do I really need to care about "old-style"? 1 // TODO: Or should I just get rid of -ReAttach for them? 1 // TODO: Is it just me or is this a little outa control? 2 # (TODO: maybe add an option to follow derived types? But it will be expensive.) 1 // TODO: We should clean up the "text replacement" when the target exits, 1 // TODO: Does modFilter interact correctly with exactMatchOnly=true? 1 // TODO: Might be handy to be able to decompose a pre-rendered color 1 // TODO: Take Target into account? 1 // TODO: Seems this could be either a BaseType or a VTableShape... seems odd. 1 // TODO: powershell-ize, using Mask 1 // TODO: wait... why did I think the number of derefs would be useful? 1 System.Diagnostics.Debugger.Break(); // TODO: does this work? 1 // TODO: more specialized types 1 // TODO: Fix it in coreclr? 1 // TODO: 1 /// OutOfMemoryExceptions anyway (TODO: They are CSEs now anyway, right?). But it 1 // TODO should not be needed. IEquatable should cover it. 1 # TODO: I'm limiting depth here not because searching is too slow... but because /canceling/ is too slow. I need to figure out if I can do something about that. Maybe it's only when running under a debugger, but still. 2 // TODO BUGBUG: uh... probably need to remove it from the loaded list? 1 length += s.Length - startIndex; // TODO: String caches its length, right? 1 // TODO: On 32-bit, it seems ReadPointersVirtual will sign-extend. That is, if the 1 // TODO: does this depend on the debugger bitness or the target bitness? I'm 1 // TODO: What if the expression is not a symbol?? 1 // TODO: is there a better enum for this? 1 // TODO: proper error. Or... what? 1 // TODO: This should be easily supportable... 2 // // TODO: it would be pretty bad to fail right here... what then? 1 AddLineLeadingSpaceToAddtlContinuationIndent = 0x10, // TODO: could this result in a pathological situation if 1 sb.AppendFormat( " Assembly options are now {0:x}.", argument ); // TODO: :x8 or :x16? 1 # TODO: What is the difference between "dt -t" and "dt -e"??? 1 # TODO: I could at least check if the high DWORD is zero or not... 1 # TODO: I don't actually know where CXString is defined, so I don't 1 # TODO: What if someone else is also trying to proxy Out-String? 2 // TODO: should this be in the debugger class? 1 # TODO: Invoke-Expression is generally the wrong thing to do... really 1 # TODO: handle f/u, s/r, maybe even e 1 public override void EnumerateRefsOfObjectCarefully(Address objRef, Action action) // TODO GET HELP 1 // TODO: do we only need to have it, or does it need to be enabled? I haven't 1 // TODO: Unfortunately, we can get into this scenario. Say somebody wrote a string to the 1 // TODO: Seems like this should not need to be called--DbgEngDebugger should 1 # TODO: muscle memory requests that I implement something that allows me to type ".reload /f" instead of ".reload -f". 1 // TODO: can I get the module name? 1 sb.Append( " /v" ); // TODO: 1 // TODO: Better to return partial data or null? Maybe bool function return? 1 // TODO: BUGBUG: I think you could be attached to multiple targets, with 1 // TODO: BUGBUG: 1 // TODO: Hmm... hopefully there aren't multiple overloads? 1 $_.NativeParams.MatchThread.ToString( "x" ) # TODO: is this an address or an id or what? i think for user mode it's the tid 1 // TODO: We should clean up the "text replacement" when the process exits, 1 // that it returned from its Start method. But sometimes it doesn't. TODO: 1 return null; // TODO: or should I throw? probably throw... 1 // TODO: nice-ify, log, etc. 2 // TODO: But... what if someone changes the Debugger.SymbolPath?! 1 // TODO: re: isLive: Actually, couldn't it be a remote to a dump? And 1 // TODO: write a warning if the current context does not include a thread context. 1 // TODO: Wait... maybe I need to try PSPropertyInfo.Copy? 1 // TODO: Type really shouldn't be null here, but due to the dac it can be. We still need 1 // TODO: Actually... I'm not sure if there really aren't ANY 16-byte registers on x64 (like maybe SSE or something?) 1 // TODO: proper error 2 // TODO: If I wanted, I could do this all in at most two shots: one to get the 1 // current provider to resolve the path. TODO: file bugs. 1 # TODO: What is that low bit for? 1 // TODO: screen for or otherwise produce a nicer error when the 1 // it's strange, right? TODO: Perhaps I should file a bug. Repro: 1 get { return (uint) Type.Size; } // TODO: what about types > 2GB? 1 // TODO: wrap 1 // TODO: Implicit conversions? IComparable? 1 // TODO: test this! 2 int numSummaryElementsToDisplay = 4; // TODO: it would be REALLY nice if somehow we knew how much line length we had left, and could just truncate/stop building at the appropriate spot. 1 # TODO: We should probably also have a -StripColor feature. 1 // TODO: Should I deprecate this in favor of CreateProcess2 1 // TODO TODO: Shoot... aren't we going to need to ensure we're in the proper context? 2 // TODO: Some sort of "symbol field not found" exception? 1 // TODO: don't create a new one every time. 1 // TODO: This changes the order of stuff in the tree (and 1 // // TODO: What to do about sign extension? 1 // [danthom] TODO BUGBUG 1 // TODO: Why is this method here? Belongs in DbgEngDebugger, methinks. 1 // // TODO: This seems terribly fragile. But I don't see how else to make 1 # TODO: add some help; the HelpUri doesn't seem to do anything? 1 // TODO: constants 1 // TODO: Load other plugins from plugin directory. 1 // TODO: I have no idea what to do with returnContainers. 1 // // TODO: [danthom] This would be nice to have. We could hack it with reflection. 1 // TODO: what? 1 // TODO: I don't understand what this is for or how it should be used... It seems 1 return "WCHAR"; // TODO: or should this correspond to wchar_t? 1 // TODO: Terribly inefficient. Anything we can do about it? 1 return null; // TODO: or wait... should this throw? 2 // TODO: Is this error sufficient? For instance it can happen for 1 // TODO: File a bug against DbgEng about it. 1 // TODO: reference additional headers your program requires here 1 // TODO: OutputType attribute 1 // TODO: this could delete our working directory... figure out if 1 public SwitchParameter ShowError { get; set; } // TODO: implement 1 // TODO: BUGBUG: This doesn't work for managed modules. 1 // TODO: I think this is the wrong way to do it. Instead of gathering all the paths 2 // TODO: reference any additional headers you need in STDAFX.H 2 // TODO incomplete, but this is all I need. 1 // TODO: Drat... It /might/ be EBP, but likely not--it's likely some 1 # TODO: Would be nice to be able to use EnterNestedPrompt when debugging, but I can't 1 // TODO: If we have to deal with a lot of processes, this could be 1 # TODO: This attribute does not seem to get me tab completion 1 // TODO: actually... I could probably just set this in BeginProcessing... 1 // TODO: better error 1 // TODO: other types 1 // TODO: rationalize this and the LogManager stuff. 2 // TODO: What are contextFlags? It looks like I usually get passed 1 // // TODO: Segregate into members, functions, statics, nested types, etc. 1 // TODO: EnumerateContainers 1 // TODO: check overloads/signature? 1 /// up the type (TODO: INT4e198f3a: can't find _STL70).) 2 // TODO: come up with a way to do a read-only, empty context 1 // TODO BUGBUG: the real PowerShell will set the exit code and 1 // TODO: Ask for a real way to do this. 1 if( $isByRef ) { # TODO } 2 DEBUG_FORMAT.USER_SMALL_FULL_AUXILIARY_STATE; // TODO: Need to learn what this means 1 // TODO: so... somebody should dispose of me... 1 // TODO: when we implement this, we'll have to change 1 TODO: more doc 1 // // TODO: The apparent index is past the end of the string. What to do here? 1 // TODO: This is a little odd... could we get rid of the parameter? Or do you have 1 // TODO: a disposable thing to do this 1 // TODO: DbgPointerTypeInfo probably has to be amended to not assume 1 1 # TODO: I tried having the two format files co-exist: pointing to the 'vanilla' one from here, 1 // TODO: need to write code to do this for RegisterSet as well. 1 CheckHr( m_debugControl.ExecuteWide( suppressOutput ? DEBUG_OUTCTL.IGNORE : DEBUG_OUTCTL.ALL_CLIENTS, // TODO: or should it be NOT_LOGGED? 1 // TODO: How does -Force fit in now? 1 // TODO: proper error 3 // TODO: Set ReadDbgAssemblyCommand.NextAddrToDisassemble here? (and the others) 1 // TODO: This class is one reason why we need "cd" to set the proper 1 // TODO: -All parameter? 1 // TODO: Could this be collapsed with ViewDefinitionInfo? 1 int iReadCount = (int) readCount; // TODO: TOTEST: overflow 1 // TODO: add filtering, etc. 2 # TODO: Support existing DbgMemory objects here 2 // TODO: We may want to just return an IUnknown here, but then the fake-com wrappers will need some way of knowing how to wrap it 1 // TODO: dynamic parameters for removing a live target (detach, quit) 1 // TODO: is this the right way to do this? Seems terrible to have to 1 string name = itemAttr.GetNameForObject( m_representedObject ); // TODO: seems wrong... why are we passing the parent object? 1 public string Expand { get; set; } // TODO: implement 1 public readonly uint SymIndex; // TODO: I don't actually know what this is. 1 // TODO: get actual version 1 // TODO: This is a temp workaround to pre-fetch filter info. The 1 // TODO: What does it mean when you have a UdtClass type of size 0? With no 1 // TODO: is IMAGEHLP_SYMBOL_TYPE_INFO.TI_GET_ARRAYINDEXTYPEID of any use? 1 // TODO: The names of the data directories could be improved... 1 // TODO: Right now we don't support overloads. 1 // TODO: Shoule we implement "n" command and "default radix" concept? Or 1 // TODO: Rationalize with DEBUG_SYMTYPE in ClrMd? 1 // TODO: what if we are nested a few levels deep? i.e. 1 // TODO: should I put these 'out' fields in a separate structure 1 // TODO: Hm... the problem with these parameters (NoConversion and 1 // TODO: write warning 2 m_targetFriendlyName = Util.Sprintf( "User_target_{0}_Proc_{1}", // TODO: "tbi": To Be Improved 1 get { return null; } // TODO: Determine if null should be the correct return value 1 // TODO: Why does this cmdlet even need to be an ExecutionBaseCommand? 1 // // TODO: it would be pretty bad to fail right here... 1 if( null == InputObject ) // TODO / BUG? Hmm... wouldn't it be good to increment index even in this case? 1 // TODO: Log or otherwise somehow warn that we've truncated the [ridiculously 1 1 // TODO: m_genericsMap 1 // TODO: This works (overriding ToString lets me control what is shown 1 //TODO: real code here to get the relocations right without loading would be nice, but 1 // TODO: or should I just return false? 1 // TODO: Should we set ScopedItemOptions.ReadOnly if the target 1 // TODO: it would be pretty bad to fail right here... 1 // TODO: Holy cow, have you seen what the built-in formatting engine can do when 1 // TODO: BUGBUG: To do this right requires knowing the current 1 // TODO: Need a "no register context exception" or something 1 // TODO: Try stripping __abi_ off? 1 // TODO: Validate this is not used? 1 // TODO: dbgeng will return 0x80070057 if the bp id is already in use. 1 foreach( string line in output.GetConsumingEnumerable() ) // TODO: should this be cancellable? 1 // // TODO: when is dec.FrameEngineId useful? 1 // TODO: This seems like the sort of thing that the AddressTransformationAttribute 1 // TODO: better error, esp. for 0x80070002 (file not found) 1 // TODO: Feature request: no way to get expanded symbol path except to parse ".sympath" output. 1 // TODO: EnumerateChildren 1 // TODO: what if conversion returned a pointer?? should we keep following it? 1 // TODO: so... what should I do about btNoType "vtable shapes"? 1 // TODO TODO BUGBUG: reconcile with global g_Debugger... can I just swap 1 // TODO: If I wanted to keep MulticulturalString internal, I might be able split the callback into 1 numGenericParams *= 10; // TODO: It's in base 10, right? 1 // TODO: This doesn't seem like a good idea to use whatever the "current" context 1 if( File.Exists( typesPs1Xml ) ) // TODO: Remove once types.ps1xml is picked in 1 // TODO: this should probably throw if we don't have private symbols 2 // TODO: need to document how our precedence works and how it differs from regular 1 get { return IntPtr.Size * 8; } //TODO GET HELP 1 // TODO: Should Refresh call this? 1 // TODO: Should I switch to using shell.AddScript, like in FormatBaseCommand.cs? 1 // TODO: We don't handle the case where there is also an [NsLeafItem] 1 // TODO: [danthom] 1 // TODO: BUG: This does not work for anything that requires multiple 1 // TODO: is this the right way to do this? Seems terrible to have to 1 // TODO: use the NativeIID template parameter for ICustomQueryInterface? 2 int pastSeq = _SkipControlSequence( str, srcIdx ); // TODO: make _SkipControlSequence not assert if first char isn't CSI? 1 // TODO: Renable when thread statics are fixed. 1 // TODO: Unloading symbols should probably just be a separate cmdlet. But what 1 // TODO: Just let the API fail instead of doing this pre-check? 1 // TODO: Should I colorize the labels? 1 // TODO: I left the "path" parameter here in case I want to use it to set the 1 // TODO: test code for DiffCompactSet. 7 // TODO: Now that I have this one here, do I need to top-level backstop? 1 # TODO assert: no $isByRef, etc. 1 // TODO: spanify 1 // TODO: Get the version from the file. 1 // TODO: better error? 1 // TODO: BUGBUG: I need to do something here to separate CTRL+C 1 // TODO: Dbgeng internally stores info about generated types in a 1 # TODO: I don't think I handle -Stream properly when the alt formatting engine is in play. 2 // TODO: 3 // TODO: BUG: when you use a comma on the command line, the value for the 1 // TODO: I don't think that's okay... we need to shut down the debugger engine (observe what 1 // TODO: What possible things can a PointerType be pointing to? (can I narrow the 1 // TODO: need to figure out how to decide if these events should be outputted 1 // TODO: Maybe I should just make CircularBuffer public. 1 // TODO: Is that the right decision? 1 // TODO: check for cancellation? Not likely needed, but not hard to do, either? 1 // TODO: Do we need a Dispose()? 1 // TODO: Strings in v4+ contain a trailing null terminator not accounted for. 1 // TODO: allow a ColorString prompt 1 //TODO: error 1 // TODO: might want to put a cap on maxCch? 1 // TODO: it would be pretty bad to fail right here... what then? 1 // TODO: progress output? 1 // TODO: for symbols for a user-mode module in a kernel mode target, 1 // TODO: Review this and if it works on v4.5, merge the two implementations back into RuntimeBase. 1 // TODO: do I really need/want the cache? 1 # TODO: This seems... really simple. Should I do anything extra, like 1 # TODO: what if we can't find it 3 # TODO: I don't think I treat BSTRs any differently than regular C strings... 1 # TODO: This is not ColorString-aware... 1 // TODO: Figure out these things, and see if there are new ones I don't know about: 1 // TODO: Make these extension methods for use elsewhere? 1 if( !ShouldProcess( leafName ) ) // TODO: need better message 1 # TODO: Factor out shared script once we have got script sharing worked out. 1 false, // TODO: actually determine endianness 1 // TODO: Support different options 1 // TODO: I could skip all this if nothing has changed the debugger state. 1 // TODO: When re-entering DbgShell, we currently show the registers. If we 1 // TODO: what happens if we can't read that many pointers? What error is returned? 1 // TODO: Resolve name of addr. 1 // TODO: Replace these with proper API call. 7 // TODO: remove this when all formatters can create their own calculated views 1 // // TODO: Should I check the type of memory? 1 // TODO: This is a hack. 1 // TODO: IEquatable? 1 // TODO: Unfortunately, this does not seem to be working for certain sorts of 1 // TODO: Would be nice to ask the PowerShell team to plumb cancellation support 1 shellId = "Microsoft.PowerShell"; // TODO: what will happen for custom shells built using Make-Shell.exe 1 // TODO TODO TODO Properties required by the UI layers below us, need to actually implement logic for them. 1 /// TODO: Perhaps it should /always/ create a new object? 5 # TODO: Would it be nice to have a [DbgValueTransformation()] attribute, so we 1 // TODO: pretty inefficient when populating a large directory. Look into using a set instead. 1 // TODO: should I include derived types here too (by using IsAssignableFrom)? 2 // TODO: If it's a managed module, this will fail. We could use 1 CheckHr( m_debugControl.SetInterrupt( DEBUG_INTERRUPT.ACTIVE ) ); // TODO: allow passing different flags 1 // TODO: Why did I do it this way instead of Buffer.BlockCopy? 1 // TODO: make this configurable, part of the table view definition or something? 1 # TODO: I think running Invoke-DbgEng here (as opposed to letting 1 // TODO: rename? 1 // TODO: Need a "no stack context exception" or something 1 // TODO: it would be pretty bad to fail right here... 1 // TODO: PS Wildcard? Regex? 2 # TODO: Also, width. And can I game it for ColorStrings? 2 // TODO: awkward; refactor 1 Note that this function removes /only/ up to two lines from the beginning and up to two lines from the end (if they are empty). If, for example, the input stream ends with THREE empty lines, this function will only remove the last two. TODO: It might be nice to use a circular buffer of dynamic size so that you can choose the maximum amount of trimming. For now I think two lines should be enough. 1 // TODO: this won't work for a managed module... we should use ClrMd 1 # TODO: Will this happen for public symbols? Maybe people should be 1 // TODO: BUGBUG: We should probably not drop converters that have no 1 // TODO: more validation? 1 return "cce"; // TODO: duplicate! 1 // TODO: Would I be better off re-writing all this stuff to use something else, 1 // TODO: I do however need to pay attention to the built-in filters to know which notification 1 // TODO: I wonder if I can get the register name. 1 // TODO: crud... how do I "cancel" an outstanding ReadLine()? 1 // TODO: Other parameters mirroring standard Format-Table 1 // TODO: De-register! (when we have code to detach) 1 // TODO: Implement IDebugOutputCallbacks2 instead. 1 // TODO: unless SVC returns a pointer, and we decide to follow it? 1 # TODO: What about arrays? 1 // TODO: get our base cmdlet stuff 1 // TODO: This is a little odd... could we get rid of the parameter? Or do you have 1 // TODO: BUGBUG: What if we're NOT on the pipeline execution thread? In 1 if( !m_currentlyProcessingAddresses.Add( symbol.Address ) ) // TODO: Do we need to worry about enregistered things? 1 // TODO: Upgrade to IDebugClient7 1 public object Convert( DbgSymbol symbol ) // TODO: plumb a CancellationToken through here. 1 // TODO FIX NOW for debugging. 1 // TODO: Shouldn't these be using 'shell' instead of creating their own? 1 // TODO: This only works with local variables, not global. 1 // TODO: should I make this nicer with a wrapping ErrorRecord 1 catch( IOException ioe ) // TODO: better define possible exceptions 1 throw new Exception( Util.Sprintf( "TODO: Need to handle disassembly format: {0}", s ) ); 1 #TODO: try globbing/wildards 1 // TODO: Blah, theres got to be a better way to do this. 1 // TODO: the event args should take a ModuleInfo 1 // TODO TODO TODO 3 # TODO: If I can't figure out how to make Install-Package work, I could at least 1 // TODO: Q: How can I fail on accidental recursion? (imagine that I generate a command, 1 //TODO: Attempted file load order is NOT guaranteed, so the uncertainty will make output order non-deterministic. 1 // TODO: Should we add any other points of comparison? Members? Perhaps 1 // TODO: tailored exception 1 // TODO: Should I provide access to other lang-codepage pairs? 1 DbgUModeProcess process ) // TODO BUGBUG? There is no module base field in 'f'... is it not possible for a field to be of a type from some other module? 1 // TODO: can we get the process debugger engine Id and system pid? 1 Util.Fail( "how would DTD end up resulting in an enum??" ); // TODO: SVC, but we would have returned from a different code path and never ended up here in that case... this code is so horrible 1 // TODO: If one doesn't exist (I don't think it does) add a Request 1 // TODO: EnumerateItems 1 public SwitchParameter Force { get; set; } // TODO: implement 1 // TODO: I'm not sure this is totally right. What about a BaseType with 1 // TODO: need to hook into the event callbacks so that when filters change, we dump / update. 1 // TODO: could this throw? (could PS call us with a path that would cause us 1 // TODO: BUG: If the user had set the assembly options to something 1 // TODO: I think I shouldn't even need this... top-level handler can handle ctrl-C, not do anything 1 // TODO: keep generating new target names until we succeed. 1 // TODO: SQM? I think that this can only happen if there are unbalanced brackets. 1 // TODO: Perhaps I should let you make a non-readonly copy. 1 # TODO: maybe replace with Format-AltSingleLine that takes -Label, -Width, etc. 1 // TODO: Seems like this should not need to be called--DbgEngDebugger should 1 // TODO: Maybe it would be better to just get the values for the first 1 // TODO search for FileVersion string ... 1 catch( PipelineStoppedException ) // thrown if calling user-defined tab completion (TODO: except we don't actually ever call user-defined tab completion yet) 1 // TODO: proper error 1 // TODO: what? 1 // TODO: Actually, maybe this is better to do with a custom view definition? 1 // TODO: add filter params, like name wildcard, loaded only, etc. 1 // TODO: factoring with GetDebuggerForTargetByPath()? 1 // TODO: Allow people to alter memory. 1 // TODO: check for duplicate view types. Then, TODO: how to warn that 2 // TODO: Is this necessary? (checking the runspace) I thought I ran into a 1 public class DbgEngineEventFilter : DbgEventFilter // TODO: IEquatable? 1 // TODO: TypeRefTokens do not work with this code 1 // TODO: can we prioritize things that actually match the name??? 1 TODO: This assumes that our host will know what to do with the raw ColorStrings we give 1 // TODO: BUGBUG: I think you could be attached to multiple targets, with 1 # TODO: before build 7773 this was different. Do we care about stuff that old? 1 // TODO: Maybe this should be named more generically, since it should support command 1 # Or... this seems to work... TODO: file a bug somewhere? 1 # TODO: What if someone else is also trying to proxy PROXY_NAME? 1 # TODO: deal with the weird precision floating type values so we can get rid of this try/catch 1 # Workaround for Windows Blue Bugs NNNNNN (TODO: file it) 1 // TODO: Can we scope this to a UDT? 1 # TODO: I think I'm going to want to try to cache this stuff for perf reasons 1 // TODO: what to do about the pBuffer? 1 sb.AppendFormat( " Engine options are now {0:x}.", argument ); // TODO: :x8 or :x16? 1 NsContainer.CreateStronglyTyped( procToAdd.TargetFriendlyName, // TODO: shouldn't need to pass name 1 // TODO: Should this be internal? 1 // TODO: is this valid? What about with managed code? 1 get { return DesktopInstanceField.GetSize(null, _pointerElement); } //TODO GET HELP 1 // TODO: Now we pass 'false' for dontGroupMultipleResults, so I think this 1 public DbgUdtTypeInfo ClassParent // TODO: <-- isn't this just "owning type"? 2 // TODO: Feature request. 1 [Cmdlet( VerbsLifecycle.Resume, "Process" )] // TODO: or should this be Resume-Target? (to also be used with a kernel target? 1 // TODO: for now we'll just refresh everything 1 // TODO make public? 1 // TODO: Is anybody crazy enough to programmatically consume the disassembly 1 // TODO: Is this a stretch? What happens if it's not really 1 // TODO: recursively use MassageManagedTypeName? I should try 1 //TODO: error 1 # TODO: Implement Stream and Width for ColorStrings! 1