I\'m often find myself setting a breakpoint A somewhere in the code and manually enabling one or more breakpoints when this breakpoint is hit. A typical case is when I\'m debugg
This is about the best I think you could do, but it seems too big of a hack to even try, because it involves adding a variable...
string breakpointToStopOn = string.Empty;
Console.WriteLine("HERE"); // You can set breakpoint A here,
// with a condition (right click on the breakpoint, then selectCondition),
// that sets breakpointToStopOn = "A"
Console.WriteLine("B"); // and you can set your breakpoint here with this condition
// (breakpointToStopOn == "A");
You won't actually be able to stop on the Console.WriteLine("HERE") line, but you could enable or disable the breakpoint, which would in effect enable the other breakpoint.
Beware though, conditional breakpoint statements will seriously degrade performance of your app while debugging.
You can get the dependent breakpoints even without changing the code, by using some global storage to hold the marker that will enable dependent breakpoint.
One of the most accessible storages that I've found is app domain custom properties. They can be accessed by System.AppDomain.CurrentDomain.GetData and SetData methods.
So on first breakpoint you define a "when hit" setting with :
{System.AppDomain.CurrentDomain.SetData("break",true)}
On the dependent breakpoint, set hit condition to:
System.AppDomain.CurrentDomain.GetData("break") != null