Multithreading c.net多线程环境下的调试

Multithreading c.net多线程环境下的调试,multithreading,shared-memory,visual-studio-debugging,Multithreading,Shared Memory,Visual Studio Debugging,我有一个巨大的多线程windows应用程序代码。我在共享内存中有一个对象,它由不同进程中的多个线程更新。我找不到谁正在更新共享对象的属性。如何找到哪个线程/方法正在更新共享内存中对象的属性。您需要以线程安全的方式编写代码。至少您需要使用锁来确保只有一个线程可以修改该对象。更好的选择是使用线程安全类,如ConcurrentQueue、Lazy等。如果您只是想知道哪些代码修改了您的属性,请在setter中设置断点。这不会使代码线程安全,尽管这是20年前编写的遗留代码。寻找VisualStudio是否

我有一个巨大的多线程windows应用程序代码。我在共享内存中有一个对象,它由不同进程中的多个线程更新。我找不到谁正在更新共享对象的属性。如何找到哪个线程/方法正在更新共享内存中对象的属性。

您需要以线程安全的方式编写代码。至少您需要使用锁来确保只有一个线程可以修改该对象。更好的选择是使用线程安全类,如ConcurrentQueue、Lazy等。如果您只是想知道哪些代码修改了您的属性,请在setter中设置断点。这不会使代码线程安全,尽管这是20年前编写的遗留代码。寻找VisualStudio是否可以提供不同进程之间调用堆栈类型的方法。当前它显示外部代码..但不确定从哪个外部代码调用此进程。可以帮助监视VS中的线程。这就是窗口的作用。