DbgProvider/public/Debugger/DbgEngDebugger.cs (61 lines): - line 141: // TODO: Or should I just -ReAttach for them? - line 151: // TODO: Or should I just get rid of -ReAttach for them? - line 272: // TODO TODO BUGBUG: reconcile with global g_Debugger... can I just swap - line 277: // TODO: re: isLive: Actually, couldn't it be a remote to a dump? And - line 317: // TODO: De-register! (when we have code to detach) - line 323: // TODO: BUG: If the user had set the assembly options to something - line 682: // TODO: potential perf problem: uncomment this line, and note that it gets hit a lot--once - line 802: // TODO: check user-mode? - line 880: // // TODO: when is dec.FrameEngineId useful? - line 935: // TODO: Ask for a real way to do this. - line 994: // TODO: Threading requirements when connected to a remote? - line 997: CheckHr( m_debugControl.SetInterrupt( DEBUG_INTERRUPT.ACTIVE ) ); // TODO: allow passing different flags - line 1007: // TODO: cache in namespace? - line 1149: // TODO: I don't think I need this call to cache the current context anymore. - line 1254: // TODO: need to hook into the event callbacks so that when filters change, we dump / update. - line 1381: // TODO: Is it worth writing the code to just grab a single filter? - line 1516: // TODO: we should probably set input callbacks too, in case something wants input? - line 1521: // TODO: should I use ambient_dml or ambient_text, or what? - line 1535: // TODO: a disposable thing to do this - line 1576: CheckHr( m_debugControl.ExecuteWide( suppressOutput ? DEBUG_OUTCTL.IGNORE : DEBUG_OUTCTL.ALL_CLIENTS, // TODO: or should it be NOT_LOGGED? - line 1611: // TODO: Maybe I should just make CircularBuffer public. - line 1822: // TODO: dbgeng will return 0x80070057 if the bp id is already in use. - line 1955: // TODO: test that after going from two targets to one. - line 2410: // TODO: or should the default be to throw if we didn't read the desired number? - line 2419: // TODO: On 32-bit, it seems ReadPointersVirtual will sign-extend. That is, if the - line 2425: // TODO: what happens if we can't read that many pointers? What error is returned? - line 2638: // TODO: might want to put a cap on maxCch? - line 2753: // TODO: might want to put a cap on maxCch? - line 2911: // TODO: check for cancellation? Not likely needed, but not hard to do, either? - line 3259: // TODO: need to write code to do this for RegisterSet as well. - line 3302: // TODO: progress output? - line 3389: // TODO: better error - line 3421: (symTag == SymTag.Function) || // TODO: I forget... can this show up on a global symbol? - line 3439: // TODO: I'm not sure this is totally right. What about a BaseType with - line 3606: // TODO: Unfortunately, this does not seem to be working for certain sorts of - line 3956: // TODO: File a bug against DbgEng about it. - line 3965: 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 - line 3998: // TODO: BUGBUG: - line 4005: sb.Append( " /v" ); // TODO: - line 4017: sb.Append( "=" ).Append( address.ToString( "x" ) ); // TODO: BUGBUG: verify this. What if the default radix is changed? - line 4032: // TODO: progress output? - line 4033: // TODO: better error, esp. for 0x80070002 (file not found) - line 4094: // TODO: Better "not found" error? - line 4257: // TODO: Maybe I should ignore all errors, and not just E_UNEXPECTED? - line 4466: // TODO: If this returns 0x80004002 (E_NOINTERFACE), then - line 4896: // TODO: We should clean up the "text replacement" when the process exits, - line 4926: // TODO: We should clean up the "text replacement" when the target exits, - line 5043: /// TODO: BUG# - line 5094: // TODO: Is it just me or is this a little outa control? - line 5129: // TODO: Is it just me or is this a little outa control? - line 5135: // TODO: Would be nice to get rid of the requirement to have the - line 5140: // TODO: Need to add TargetFriendlyName property or something. - line 5194: // TODO: Would be nice to get rid of the requirement to have the - line 5199: // TODO: Need to add TargetFriendlyName property or something. - line 5280: // TODO: Does this need to happen on the dbgeng thread? - line 5318: // TODO: Would be nice if dbgeng could give proper progress output somehow. - line 5399: // TODO: Should I expose the ability to get other translations? - line 5707: // TODO: Find an API for this. - line 5892: // TODO: If one doesn't exist (I don't think it does) add a Request - line 6516: // TODO: write warning - line 6530: // TODO: write warning DbgProvider/Debugger.Formatting.psm1 (29 lines): - line 203: 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. - line 490: # TODO: This seems... really simple. Should I do anything extra, like - line 848: # TODO: Get a PS dev to investigate: When I remove the () from - line 1118: #TODO: try globbing/wildards - line 1313: TODO: This assumes that our host will know what to do with the raw ColorStrings we give - line 1326: # TODO: Implement Stream and Width for ColorStrings! - line 1328: # TODO: We should probably also have a -StripColor feature. - line 1346: # TODO: What if someone else is also trying to proxy Out-String? - line 1398: if( $null -eq $objToDealWith ) # TODO: Do I need to handle [System.Management.Automation.Internal.AutomationNull]::Value? - line 1416: # TODO: Assert $null -ne $currentSteppablePipeline - line 1542: # TODO: What if someone else is also trying to proxy Out-Default? - line 1599: if( $null -eq $objToDealWith ) # TODO: Do I need to handle [System.Management.Automation.Internal.AutomationNull]::Value? - line 1653: # TODO: what if we can't find it - line 1655: # TODO: comment below accurate? - line 1669: # TODO: Assert $null -ne $currentSteppablePipeline - line 1745: # TODO: What if someone else is also trying to proxy Out-String? - line 1762: # TODO: I don't think I handle -Stream properly when the alt formatting engine is in play. - line 1763: # TODO: Also, width. And can I game it for ColorStrings? - line 1813: if( $null -eq $objToDealWith ) # TODO: Do I need to handle [System.Management.Automation.Internal.AutomationNull]::Value? - line 1867: # TODO: what if we can't find it - line 1869: # TODO: comment below accurate? - line 1883: # TODO: Assert $null -ne $currentSteppablePipeline - line 1933: # TODO: add some help; the HelpUri doesn't seem to do anything? - line 2077: if( $null -eq $objToDealWith ) # TODO: Do I need to handle [System.Management.Automation.Internal.AutomationNull]::Value? - line 2188: # TODO: Assert $null -ne $currentSteppablePipeline - line 2400: if( $null -eq $objToDealWith ) # TODO: Do I need to handle [System.Management.Automation.Internal.AutomationNull]::Value? - line 2511: # TODO: Assert $null -ne $currentSteppablePipeline - line 2706: if( $null -eq $objToDealWith ) # TODO: Do I need to handle [System.Management.Automation.Internal.AutomationNull]::Value? - line 2808: # TODO: Assert $null -ne $currentSteppablePipeline DbgShell/ColorConsoleHost.cs (24 lines): - line 126: // TODO: Now that I have this one here, do I need to top-level backstop? - line 242: catch( PipelineStoppedException ) // thrown if calling user-defined tab completion (TODO: except we don't actually ever call user-defined tab completion yet) - line 495: // TODO: BUGBUG: What if we're NOT on the pipeline execution thread? In - line 611: // TODO: Should we do anything with the exitCode? We could let the - line 615: // TODO: Is this necessary? (checking the runspace) I thought I ran into a - line 694: // TODO: get actual version - line 713: // TODO: parse args - line 1025: // TODO: don't create a new one every time. - line 1087: // TODO: allow a ColorString prompt - line 1109: // TODO: Check for "pushed" runspace, do "remote" prompt? - line 1148: // TODO: Apparently, even though I gave the runspace config to the - line 1202: string helpText, // TODO: what to do with this? - line 1228: catch( DbgProviderException dpe ) // TODO: different exception type? - line 1237: // TODO: I don't understand what this is for or how it should be used... It seems - line 1264: // TODO TODO TODO: Test error conditions (what if init scripts fail, etc.). - line 1297: // [danthom] TODO BUGBUG - line 1300: // TODO: I think I shouldn't even need this... top-level handler can handle ctrl-C, not do anything - line 1311: // TODO BUGBUG: the real PowerShell will set the exit code and - line 1323: shellId = "Microsoft.PowerShell"; // TODO: what will happen for custom shells built using Make-Shell.exe - line 1350: // TODO: Shouldn't these be using 'shell' instead of creating their own? - line 1363: // TODO: this will be nice to have for automated debug monitor-type thingies - line 1488: // TODO TODO TODO - line 1489: // TODO TODO TODO Properties required by the UI layers below us, need to actually implement logic for them. - line 1490: // TODO TODO TODO DbgProvider/public/Debugger/DbgValue.cs (23 lines): - line 386: // TODO: Is this a stretch? What happens if it's not really - line 492: // TODO: Wait... maybe I need to try PSPropertyInfo.Copy? - line 496: // to work as a workaround. TODO: ask if it's a bug? - line 809: // TODO: unless SVC returns a pointer, and we decide to follow it? - line 888: // TODO: what if conversion returned a pointer?? should we keep following it? - line 906: // TODO: unless SVC returned a pointer and we decided to keep chasing it? - line 959: 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 - line 1116: // TODO: I would really like to be able to put an OutputTypeAttribute on this - line 1187: // TODO: Terribly inefficient. Anything we can do about it? - line 1246: // TODO: lazily? - line 1366: // TODO TODO: factor out this duplicated code - line 1381: // TODO: get rid of useless symbol.children? or somehow reconcile with the - line 1399: // ConversionOverhaul TODO: seems like we should be using OperativeSymbol in - line 1445: // TODO: Add a way for users to customize how certain types are displayed - line 1446: // TODO: Display it 'inline', since it is 'inline' to its parent? - line 1590: // TODO: we should have a custom exception (derived from - line 1627: // TODO: This works (overriding ToString lets me control what is shown - line 1638: // TODO: Right now we don't support overloads. - line 1713: // not consider implicit conversion to bool. TODO: ask them to. - line 1824: // TODO: or should we let the .Value access throw? - line 1851: // TODO: wait... why did I think the number of derefs would be useful? - line 2618: // TODO: Get $FormatEnumerationLimit - line 2619: 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. DbgProvider/public/DbgProvider.cs (23 lines): - line 44: // TODO: rationalize this and the LogManager stuff. - line 598: // TODO: handle 'recurse' - line 629: // TODO: I have no idea what to do with returnContainers. - line 749: // TODO: could this throw? (could PS call us with a path that would cause us - line 753: if( !ShouldProcess( leafName ) ) // TODO: need better message - line 801: // TODO: I left the "path" parameter here in case I want to use it to set the - line 811: // TODO: or should it be public? - line 817: // TODO: factoring with GetDebuggerForTargetByPath()? - line 823: return null; // TODO: or should I throw? probably throw... - line 962: // // TODO: it would be pretty bad to fail right here... what then? - line 971: // // TODO: it would be pretty bad to fail right here... - line 1069: // TODO: it would be pretty bad to fail right here... what then? - line 1078: // TODO: it would be pretty bad to fail right here... - line 1231: // TODO: it would be pretty bad to fail right here... - line 1338: // TODO: dynamic parameters for removing a live target (detach, quit) - line 1423: // TODO: This changes the order of stuff in the tree (and - line 1481: // TODO: I don't want the NamespaceItem stuff to have any PS stuff. But it - line 1538: // TODO: This changes the order of stuff in the tree (and - line 1561: catch( IOException ioe ) // TODO: better define possible exceptions - line 1563: WriteError( ioe, "MoveFailed", ErrorCategory.WriteError, destination ); // TODO: or should the targetObject be 'path'? - line 1567: WriteError( ioe, "InvalidMove", ErrorCategory.InvalidOperation, destination ); // TODO: or should the targetObject be 'path'? - line 1689: // TODO: Might be nice to put this in a different class or something, as it is not - line 2322: /// someone captures context using CapturePsContext(). TODO: CapturePsContext() DbgProvider/public/Formatting/FormatBaseCommand.cs (20 lines): - line 23: public string View { get; set; } // TODO: implement - line 26: public SwitchParameter ShowError { get; set; } // TODO: implement - line 29: public SwitchParameter DisplayError { get; set; } // TODO: implement - line 32: public SwitchParameter Force { get; set; } // TODO: implement - line 36: public string Expand { get; set; } // TODO: implement - line 220: // TODO: is this the right way to do this? Seems terrible to have to - line 247: // TODO: proper error - line 271: // TODO: proper error - line 370: // TODO: check overloads/signature? - line 413: // TODO: Or should it be pso.ToString here? - line 554: // TODO: This is a kludge. Perhaps there should at least be a user-accessible - line 650: // TODO: is this the right way to do this? Seems terrible to have to - line 845: // TODO: proper error - line 896: if( null == InputObject ) // TODO / BUG? Hmm... wouldn't it be good to increment index even in this case? - line 899: // TODO: How does -Force fit in now? - line 944: // TODO: remove this when all formatters can create their own calculated views - line 960: // TODO: when we implement this, we'll have to change - line 1034: // TODO: should I make this nicer with a wrapping ErrorRecord - line 1037: // TODO: similar, should I expose all the errors if there were > 1? - line 1038: return default( TView ); // satisfy compiler TODO: make this better DbgProvider/internal/Native/DbgHelp.cs (15 lines): - line 352: // // TODO: What to do about sign extension? - line 408: // TODO: I guess the end key could just be the type id; doesn't need to be the whole TypeInfoDict. - line 516: // TODO TODO TODO - line 632: // TODO: Although maybe the reverse lookup should just be uint -> uint? - line 823: // TODO: Should I have a separate DbgHelpException class? - line 1300: // TODO: is IMAGEHLP_SYMBOL_TYPE_INFO.TI_GET_ARRAYINDEXTYPEID of any use? - line 1686: // TODO: Rewrite the assert to check for sets; that is, there are certain sets of - line 1904: throw new DbgEngException( 1 /*S_FALSE*/ ); // TODO: better error - line 2639: // TODO: If I wanted, I could do this all in at most two shots: one to get the - line 2966: // TODO: Uh-oh, these VARIANT-related APIs are obsolete... - line 3013: // TODO: SymTags should always be available for type info symbols. But if it's - line 3307: // it's strange, right? TODO: Perhaps I should file a bug. Repro: - line 3466: // TODO: I have no idea if this is the right size; MSDN says "Boolean", not "BOOL"... - line 3796: // TODO: Rationalize with DEBUG_SYMTYPE in ClrMd? - line 3810: // TODO: Rationalize with IMAGEHLP_MODULE64 in ClrMd DbgProvider/public/Debugger/DbgEventArgs.cs (15 lines): - line 39: // TODO: rename? - line 546: // TODO: can we get the debugger engine Id and system pid of the new process? - line 628: // TODO: can we get the process debugger engine Id and system pid? - line 828: // TODO: what to do about this? - line 861: // TODO: I wonder if I can get the register name. - line 895: // TODO: what to do about this? - line 973: sb.AppendFormat( " Engine options are now {0:x}.", argument ); // TODO: :x8 or :x16? - line 979: // TODO: can I get the log file name? - line 1004: sb.AppendFormat( " Process options are now {0:x}.", argument ); // TODO: :x8 or :x16? - line 1027: sb.AppendFormat( " Assembly options are now {0:x}.", argument ); // TODO: :x8 or :x16? - line 1063: // TODO: what to do about this? - line 1086: // TODO: BUGBUG: When mounting a dump file, I get this callback before I - line 1106: // TODO: can I get the module name? - line 1119: // TODO: can I get the module name? - line 1166: // TODO: what to do about this? DbgProvider/internal/NamespaceItem.cs (13 lines): - line 123: // TODO: pretty inefficient when populating a large directory. Look into using a set instead. - line 191: // current provider to resolve the path. TODO: file bugs. - line 748: // TODO: screen for or otherwise produce a nicer error when the - line 754: // TODO: Is this error sufficient? For instance it can happen for - line 770: string name = itemAttr.GetNameForObject( m_representedObject ); // TODO: seems wrong... why are we passing the parent object? - line 793: // TODO: We don't handle the case where there is also an [NsLeafItem] - line 917: // TODO: Hmm... hopefully there aren't multiple overloads? - line 1060: // TODO: Should Refresh call this? - line 1293: int iReadCount = (int) readCount; // TODO: TOTEST: overflow - line 1323: // TODO: better error? - line 1508: // TODO: This should be easily supportable... - line 1514: // TODO: This should be easily supportable... - line 1532: // TODO: This should be easily supportable... DbgProvider/Debugger.psm1 (11 lines): - line 603: if( $? ) # TODO: I set $ErrorActionPreference to 'Stop'... so if it failed, we should throw, so this check should be pointless. - line 815: # TODO: I think running Invoke-DbgEng here (as opposed to letting - line 915: # TODO: This attribute does not seem to get me tab completion - line 1004: # TODO: handle f/u, s/r, maybe even e - line 1021: # TODO: Invoke-Expression is generally the wrong thing to do... really - line 1078: # TODO: I could at least check if the high DWORD is zero or not... - line 1308: TODO: more doc - line 1789: # TODO: Support existing DbgMemory objects here - line 1844: # TODO: Support existing DbgMemory objects here - line 3596: # TODO: What is the difference between "dt -t" and "dt -e"??? - line 4157: # TODO: muscle memory requests that I implement something that allows me to type ".reload /f" instead of ".reload -f". DbgProvider/public/Debugger/TypeInfo/DbgUdtTypeInfo.cs (9 lines): - line 13: // TODO: What does it mean when you have a UdtClass type of size 0? With no - line 21: public DbgUdtTypeInfo ClassParent // TODO: <-- isn't this just "owning type"? - line 39: // TODO: Seems this could be either a BaseType or a VTableShape... seems odd. - line 54: // TODO: so... what should I do about btNoType "vtable shapes"? - line 183: // TODO: Should we add any other points of comparison? Members? Perhaps - line 201: // TODO: Try stripping __abi_ off? - line 245: // breadth-first traversal. TODO: SQM for use of multiple inheritance? - line 256: // breadth-first traversal. TODO: SQM for use of multiple inheritance? - line 416: // TODO: constants DbgProvider/public/Debugger/RealDebugEventCallbacks.cs (9 lines): - line 76: // TODO: I do however need to pay attention to the built-in filters to know which notification - line 110: // TODO: write error... remove callback? failfast? - line 120: // TODO: this is super awkward... - line 127: // TODO: need to figure out how to decide if these events should be outputted - line 318: // TODO: BUGBUG: We have no way to know what the process context - line 357: // TODO: the event args should take a ModuleInfo - line 538: // // TODO: This seems terribly fragile. But I don't see how else to make - line 586: // TODO: BUGBUG: To do this right requires knowing the current - line 599: // TODO: I don't really know what a change in symbol "scope" ClrMemDiag/Desktop/types.cs (8 lines): - line 158: // TODO: Handle typespec case. - line 399: get { return null; } // TODO: Determine if null should be the correct return value - line 419: get { return DesktopInstanceField.GetSize(null, _pointerElement); } //TODO GET HELP - line 424: get { return IntPtr.Size * 8; } //TODO GET HELP - line 427: public override void EnumerateRefsOfObjectCarefully(Address objRef, Action
action) // TODO GET HELP - line 1029: _notRCW = true; // TODO FIX NOW review. We really want to simply ask the runtime... - line 1391: // TODO: Renable when thread statics are fixed. - line 1399: // TODO: Enable default values. DbgProvider/public/Commands/ExecutionBaseCommand.cs (8 lines): - line 50: // TODO: actually... I could probably just set this in BeginProcessing... my only - line 173: // TODO: This is for attaching to a debugging server. Need to test it. Other cases? - line 205: // TODO: Seems like this should not need to be called--DbgEngDebugger should - line 228: // TODO: BUGBUG: I think you could be attached to multiple targets, with - line 268: // TODO: powershell-ize - line 271: // TODO: should this be in the debugger class? - line 274: // TODO: apparently it can return S_FALSE, meaning it "already - line 291: // TODO: crud... how do I "cancel" an outstanding ReadLine()? DbgProvider/Debugger.Format.ps1xml.in (8 lines): - line 287: # TODO: deal with the weird precision floating type values so we can get rid of this try/catch - line 501: - line 728: - line 729: - line 805: - line 929: # TODO: COLORIZE DbgProvider/TypeInfoDebugging.psm1 (8 lines): - line 107: # 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. - line 110: # TODO: Need to be able to show DbgShell-style path string - line 130: # TODO: What about arrays? - line 134: # TODO: wildcard support - line 281: # 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. - line 284: # TODO: Need to be able to show DbgShell-style path string - line 311: # TODO: wildcard support - line 462: # (TODO: maybe add an option to follow derived types? But it will be expensive.) DbgProvider/public/Debugger/DbgSystemInfo.cs (8 lines): - line 154: // TODO: If we have to deal with a lot of processes, this could be - line 260: // TODO: test code for DiffCompactSet. - line 261: // TODO: test code for DiffCompactSet. - line 262: // TODO: test code for DiffCompactSet. - line 263: // TODO: test code for DiffCompactSet. - line 264: // TODO: test code for DiffCompactSet. - line 265: // TODO: test code for DiffCompactSet. - line 266: // TODO: test code for DiffCompactSet. DbgProvider/public/Commands/GetDbgSymbolValue.cs (8 lines): - line 10: // TODO: This only works with local variables, not global. - line 64: // TODO: Hm... the problem with these parameters (NoConversion and - line 99: // TODO: this should probably throw if we don't have private symbols - line 137: // TODO: Some sort of "symbol not found" exception - line 154: // TODO: what? - line 155: // TODO: Some sort of "symbol null" exception? - line 174: // TODO: Wildcard support? - line 179: // TODO: Some sort of "symbol field not found" exception? DbgProvider/public/Debugger/DbgSymbol.cs (8 lines): - line 54: // // TODO: Should I check the type of memory? - line 174: // TODO: This is also called "offset" in a lot of places. I think 'Address' is - line 199: // TODO: shouldn't be public, right? - line 302: // TODO: functions, nested types, etc. - line 407: // TODO: or should I just return false? - line 614: // TODO: BUG: This does not work for anything that requires multiple - line 841: // TODO: value unavailable exception? - line 1266: // TODO: Actually... I'm not sure if there really aren't ANY 16-byte registers on x64 (like maybe SSE or something?) DbgProvider/public/Debugger/DbgUModeThreadInfo.cs (8 lines): - line 97: // TODO: BUGBUG? Is this going to wipe out a frame context? - line 306: // TODO: Replace these with proper API call. - line 315: // TODO: Replace these with proper API call. - line 324: // TODO: Replace these with proper API call. - line 333: // TODO: Replace these with proper API call. - line 342: // TODO: Replace these with proper API call. - line 351: // TODO: Replace these with proper API call. - line 360: // TODO: Replace these with proper API call. DbgProvider/internal/RunspaceSettings.cs (7 lines): - line 547: // TODO: Should we set ScopedItemOptions.ReadOnly if the target - line 884: NsContainer.CreateStronglyTyped( procToAdd.TargetFriendlyName, // TODO: shouldn't need to pass name - line 929: NsContainer.CreateStronglyTyped( targetToAdd.TargetFriendlyName, // TODO: shouldn't need to pass name - line 946: // TODO: Q: How can I fail on accidental recursion? (imagine that I generate a command, - line 1009: // TODO: BUG: when you use a comma on the command line, the value for the - line 1289: // TODO: this could delete our working directory... figure out if - line 1302: // TODO: write a warning if the current context does not include a thread context. DbgProvider/internal/Native/WdbgExts.cs (7 lines): - line 76: // TODO: proper error - line 111: // TODO: does this depend on the debugger bitness or the target bitness? I'm - line 122: // TODO: proper error - line 178: // TODO: proper error - line 274: //public uint fOptions { get; private set; } // TODO: enum? - line 276: // TODO: what to do about the pBuffer? - line 278: // TODO: should I put these 'out' fields in a separate structure DbgProvider/public/Debugger/TypeInfo/DbgTemplateInfo.cs (7 lines): - line 14: /// up the type (TODO: INT4e198f3a: can't find _STL70).) - line 554: // TODO: Hmm... I wonder if it's possible to get a symbol with ",," (which - line 583: // TODO: SQM? I think that this can only happen if there are unbalanced brackets. - line 602: /// up the type (TODO: INT4e198f3a: can't find _STL70).) - line 655: // TODO: PS Wildcard? Regex? - line 698: // TODO: perhaps this should be private as well, to prevent ill-formed templateName. - line 781: // TODO: PS Wildcard? Regex? DbgProvider/public/ColorString.cs (6 lines): - line 85: // TODO: Might be handy to be able to decompose a pre-rendered color - line 404: /// TODO: Perhaps it should /always/ create a new object? - line 414: /// TODO: Perhaps it should /always/ create a new object? - line 425: /// TODO: Perhaps it should /always/ create a new object? - line 436: /// TODO: Perhaps it should /always/ create a new object? - line 456: /// TODO: Perhaps it should /always/ create a new object? DbgProvider/Debugger.Converters.COM.ps1 (6 lines): - line 152: # TODO: I don't think I treat BSTRs any differently than regular C strings... - line 323: # TODO assert: no $isByRef, etc. - line 328: if( $isByRef ) { # TODO } - line 329: else { # TODO } - line 334: if( $isByRef ) { # TODO } - line 335: else { # TODO } DbgProvider/public/Debugger/DbgRegisterInfo.cs (6 lines): - line 45: // TODO: Figure out how to get the data into a Decimal? - line 48: // TODO: Figure out how to get the data into a Decimal? - line 51: // TODO: Figure out how to get the data into a Decimal? - line 87: // TODO: I think this does not work for some pseudo registers (like $peb), - line 150: // TODO: add another Util.FormatBytes overload? - line 334: // TODO: Drat... It /might/ be EBP, but likely not--it's likely some DbgProvider/internal/CaStringUtil.cs (6 lines): - line 10: // TODO: Maybe this should be named more generically, since it should support command - line 96: length += s.Length - startIndex; // TODO: String caches its length, right? - line 200: // // TODO: The apparent index is past the end of the string. What to do here? - line 728: AddLineLeadingSpaceToAddtlContinuationIndent = 0x10, // TODO: could this result in a pathological situation if - line 839: int pastSeq = _SkipControlSequence( str, srcIdx ); // TODO: make _SkipControlSequence not assert if first char isn't CSI? - line 1049: // TODO: theme support DbgProvider/public/Commands/WaitForBangDbgShellCommand.cs (6 lines): - line 120: // TODO: actually... I could probably just set this in BeginProcessing... - line 179: // TODO: might need to failfast... - line 189: // TODO: I could skip all this if nothing has changed the debugger state. - line 196: // TODO: Seems like this should not need to be called--DbgEngDebugger should - line 203: // TODO: When re-entering DbgShell, we currently show the registers. If we - line 222: // TODO: BUGBUG: I think you could be attached to multiple targets, with DbgProvider/AfeProxies/OutProxy.ps1.in (5 lines): - line 24: # TODO: What if someone else is also trying to proxy PROXY_NAME? - line 81: if( $null -eq $objToDealWith ) # TODO: Do I need to handle [System.Management.Automation.Internal.AutomationNull]::Value? - line 135: # TODO: what if we can't find it - line 137: # TODO: comment below accurate? - line 151: # TODO: Assert $null -ne $currentSteppablePipeline ClrMemDiag/Utilities/command.cs (5 lines): - line 180: // TODO add a capability to return a enumerator of output lines. (and/or maybe a delegate callback) - line 267: // TODO implement - line 482: // TODO why only for output streams? - line 545: // TODO : HACK we see to have a race in the async process stuff - line 623: // TODO (should we use WMI instead?) DbgEngWrapper/DbgEngWrapper.cpp (5 lines): - line 163: // TODO: This is a little odd... could we get rid of the parameter? Or do you have - line 190: // TODO: what? - line 431: // TODO: Should I deprecate this in favor of CreateProcess2 - line 3043: // TODO: I don't know how to properly handle more than 1024 frames - line 3056: // TODO: Log or otherwise somehow warn that we've truncated the [ridiculously DbgProvider/public/Debugger/DbgValueScriptConverter.cs (5 lines): - line 30: public object Convert( DbgSymbol symbol ) // TODO: plumb a CancellationToken through here. - line 35: if( !m_currentlyProcessingAddresses.Add( symbol.Address ) ) // TODO: Do we need to worry about enregistered things? - line 68: // TODO TODO: handle more than one - line 72: // TODO: tailored exception - line 93: // TODO: Hmm... not sure what's the best thing to do here. Return just the DbgProvider/public/Formatting/AltFormattingManagerInfo.cs (5 lines): - line 70: // TODO: check for duplicate view types. Then, TODO: how to warn that - line 125: // TODO: check for duplicate view types. Then, TODO: how to warn that - line 263: // TODO: should I include derived types here too (by using IsAssignableFrom)? - line 291: // TODO: should I include derived types here too (by using IsAssignableFrom)? - line 412: // TODO: m_genericsMap DbgShell/MainClass.cs (5 lines): - line 570: // TODO: Is that the right decision? - line 598: // TODO: BUGBUG: I need to do something here to separate CTRL+C - line 781: if( File.Exists( typesPs1Xml ) ) // TODO: Remove once types.ps1xml is picked in - line 803: // TODO: wrap - line 838: // work. (TODO: file a bug) We'll still do it, in case they ever fix it, DbgProvider/public/Debugger/DbgTarget.cs (5 lines): - line 97: m_targetFriendlyName = Util.Sprintf( "User_target_{0}_Proc_{1}", // TODO: "tbi": To Be Improved - line 228: // TODO BUGBUG: uh... probably need to remove it from the loaded list? - line 248: // TODO: for now we'll just refresh everything - line 516: // TODO: But... what if someone changes the Debugger.SymbolPath?! - line 633: // TODO: Should this be internal? DbgEngWrapper/DbgEngWrapper.h (5 lines): - line 264: // TODO: Investigate DebugCreateEx - line 265: // TODO: Upgrade to IDebugClient7 - line 411: // TODO: This is a little odd... could we get rid of the parameter? Or do you have - line 422: // TODO: what? - line 556: // TODO: Should I deprecate this in favor of CreateProcess2 DbgProvider/public/Debugger/DebuggerObject.cs (5 lines): - line 64: // TODO: nice-ify, log, etc. - line 80: // TODO: nice-ify, log, etc. - line 181: // TODO: Why is this method here? Belongs in DbgEngDebugger, methinks. - line 220: // TODO: Should I handle exceptions and return null? - line 225: // TODO: This doesn't seem like a good idea to use whatever the "current" context DbgProvider/public/Debugger/DbgRegisterSetBase.cs (5 lines): - line 9: // TODO: This class currently assumes that the register values are static. Need to handle - line 318: // TODO: I'm not sure that I like this mutation... On the other hand, - line 531: // TODO: - line 647: // TODO: - line 800: // TODO: DbgProvider/internal/Util.cs (4 lines): - line 940: // TODO: do we only need to have it, or does it need to be enabled? I haven't - line 2125: numGenericParams *= 10; // TODO: It's in base 10, right? - line 2132: // TODO: spanify - line 2141: // TODO: recursively use MassageManagedTypeName? I should try DbgProvider/public/Commands/WriteDbgDumpFileCommand.cs (4 lines): - line 54: DEBUG_FORMAT.USER_SMALL_FULL_AUXILIARY_STATE; // TODO: Need to learn what this means - line 63: // TODO: Figure out these things, and see if there are new ones I don't know about: - line 86: // TODO: What is CAB_SECONDARY_ALL_IMAGES for? DbgEng.h says - line 103: // TODO: Just let the API fail instead of doing this pre-check? DbgProvider/public/Formatting/FormatAltTableCommand.cs (4 lines): - line 10: // TODO: Holy cow, have you seen what the built-in formatting engine can do when - line 19: // TODO: Other parameters mirroring standard Format-Table - line 25: // TODO: make this configurable, part of the table view definition or something? - line 230: // TODO: What if there is no Host.UI.RawUI? DbgProvider/public/Commands/AssemblyCommands.cs (4 lines): - line 71: // TODO: more options for uf?. - line 195: foreach( string line in output.GetConsumingEnumerable() ) // TODO: should this be cancellable? - line 352: throw new Exception( Util.Sprintf( "TODO: Need to handle disassembly format: {0}", s ) ); - line 385: // TODO: Is anybody crazy enough to programmatically consume the disassembly DbgProvider/public/Commands/TransformationAttributes.cs (4 lines): - line 220: // as when the address is piped in. TODO: can we change PowerShell to - line 279: // TODO: see if we can get PS to preserve the as-typed value for - line 538: // TODO: Shoule we implement "n" command and "default radix" concept? Or - line 798: // TODO: Would be nice to ask the PowerShell team to plumb cancellation support DbgProvider/public/DbgProviderItem.cs (4 lines): - line 50: // TODO: a protected constructor that takes a name/path only, and finds the - line 87: // TODO: EnumerateContainers - line 88: // TODO: EnumerateItems - line 89: // TODO: EnumerateChildren DbgProvider/Debugger.ArgumentCompleters.ps1 (4 lines): - line 90: # TODO: Would be nice to be able to use EnterNestedPrompt when debugging, but I can't - line 132: # TODO: What about options like -Scope? - line 173: # TODO: I think I'm going to want to try to cache this stuff for perf reasons - line 261: # TODO: Minor bug: if you type "foo.dl" and then [TAB] expecting it to complete to DbgProvider/public/Debugger/DbgModuleInfo.cs (4 lines): - line 329: // TODO: The names of the data directories could be improved... - line 401: // TODO: more validation? - line 432: // TODO: If it's a managed module, this will fail. We could use - line 648: // TODO: Take Target into account? DbgProvider/public/Debugger/TypeInfo/DbgBaseTypeInfo.cs (4 lines): - line 123: // TODO: other types - line 267: "BCD", // btBCD = 9, // TODO: <-- what's that? - line 287: "Bit", // btBit = 29, // TODO: what's the meaning of the "size" of this? - line 337: return "WCHAR"; // TODO: or should this correspond to wchar_t? DbgProvider/public/Debugger/DbgSymbolGroup.cs (4 lines): - line 22: return m_items; // TODO: need to expose read-only - line 128: // TODO: once we get into here, we're probably in a bad state, because - line 133: System.Diagnostics.Debugger.Break(); // TODO: does this work? - line 226: // // TODO: seems like a dbgeng bug... DbgProvider/public/Commands/ResumeProcessCommand.cs (4 lines): - line 7: [Cmdlet( VerbsLifecycle.Resume, "Process" )] // TODO: or should this be Resume-Target? (to also be used with a kernel target? - line 85: // TODO: we could run the script through the parser and warn - line 105: // TODO: what if we are nested a few levels deep? i.e. - line 215: // TODO: might need to failfast... DbgProvider/internal/DbgValueConversionManagerInfo.cs (4 lines): - line 58: // TODO: Make these extension methods for use elsewhere? - line 225: // TODO: Better error? Or maybe we shouldn't throw if templateFilter has wildcards... - line 291: // TODO: BUGBUG: We should probably not drop converters that have no - line 312: // TODO: Does modFilter interact correctly with exactMatchOnly=true? DbgProvider/public/Debugger/DbgEngineEventFilter.cs (3 lines): - line 7: public class DbgEngineEventFilter : DbgEventFilter // TODO: IEquatable? - line 9: // TODO: is there a better enum for this? - line 44: // TODO: or should this be internal? DbgShellExt/DbgShellExt.cpp (3 lines): - line 187: // TODO: Get the version from the file. - line 635: // TODO: I believe there's a way to get a DML link to pop open a browser. - line 707: // TODO: other good examples? Maybe an example that includes non-debuggery things? DbgProvider/public/Debugger/DbgStackFrameInfo.cs (3 lines): - line 143: // TODO: BUGBUG: This doesn't work for managed modules. - line 279: // TODO: Do the managed stack frame pointers match up with the native frame pointers??? - line 341: // TODO: Ideally we wouldn't deal with this at this layer; we would DbgProvider/public/Commands/ConnectProcessCommand.cs (3 lines): - line 32: // TODO: is -ReAttach valid with any of -SkipInitialBreakpoint, -SkipFinalBreakpoint? - line 42: // TODO: get our base cmdlet stuff - line 63: // TODO: keep generating new target names until we succeed. DbgProvider/FmtUtils.ps1 (3 lines): - line 26: # TODO: assert( false ): we trimmed the string so if there were no - line 120: # TODO: maybe replace with Format-AltSingleLine that takes -Label, -Width, etc. - line 145: # TODO: This is not ColorString-aware... DbgProvider/public/Debugger/TypeInfo/DbgFunctionTypeInfo.cs (3 lines): - line 18: public readonly uint SymIndex; // TODO: I don't actually know what this is. - line 132: // TODO: What about namespace stuff? - line 144: // TODO: What about namespace stuff? ClrMemDiag/Utilities/pefile.cs (3 lines): - line 253: // TODO make public? - line 761: // TODO incomplete, but this is all I need. - line 782: // TODO search for FileVersion string ... DbgProvider/public/Debugger/DebugOutputCallbacks.cs (3 lines): - line 10: // TODO: Implement IDebugOutputCallbacks2 instead. - line 62: // TODO: maybe I want this always turned on?? I had a case where an Ioctl returned S_OK, - line 73: // TODO: powershell-ize, using Mask DbgProvider/public/Formatting/AltTableViewDefinition.cs (3 lines): - line 9: // TODO: replace with S.M.A.Alignment? - line 291: // TODO: proper error. Or... what? - line 307: // TODO: Maybe it would be better to just get the values for the first DbgProvider/Debugger.Converters.wrl.ps1 (3 lines): - line 13: # TODO: BUGBUG: I should probably get rid of this caching stuff, because it won't work - line 32: # TODO: Will this happen for public symbols? Maybe people should be - line 55: # TODO: Will this happen for public symbols? Maybe people should be able DbgProvider/public/Commands/DbgEventFilterCommands.cs (3 lines): - line 10: // TODO: add filtering, etc. - line 14: // TODO: rename "specific" event filters to "engine" event filters? - line 24: // TODO: add filtering, etc. ClrMemDiag/Desktop/heap.cs (3 lines): - line 116: // TODO: TypeRefTokens do not work with this code - line 1346: // TODO: This needs to get the field offset by runtime instead. - line 1443: // TODO should not be needed. IEquatable should cover it. DbgProvider/public/Commands/ConnectDbgServerCommand.cs (3 lines): - line 299: // TODO: - line 303: LogManager.Trace( "Connecting to remote with parameters: