Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# debugging issue: No symbols are loaded for any call stack frame

Tags:

c#

debugging

I'm trying to step into a method referenced in an external dll from a C# web service dll. I'm developing the web service code and can step into it from my Winforms app. The dll I'm trying to step into from the web service was developed by someone else, and I have the dll and pdb files. When I try to step into it I'm getting the message below:

'No symbols are loaded for any call stack frame. The source code cannot be displayed'.

Here is my project setup:

  • .NET 3.5, VS 2008 Professional, IIS 7 running on Vista Ultimate
  • Winforms app WF1.exe, referencing web service dll WS1.dll, in 1 solution on my machine
  • Database access dll DA1.dll compiled by another developer, referenced by WS1.dll
  • DA1.dll and DA1.pdb files located in root directory of WS1 web service project
  • WS1 web service compiled and published to my local IIS, DA1.dll and DA1.pdb files get copied to the IIS WS1 bin directory

So far so good and everything works to a point. I break and step into WF1.exe then break and step into a method on WS1.dll no problems. However when I try to step into a method on DA1.dll the error occurs. Any help appreciated.

(Also meant to say I attached to the WebDev.WebServer.EXE process to try and step into DA1)

Cheers,

Ciaran

like image 637
Ciarán Bruen Avatar asked Apr 15 '10 08:04

Ciarán Bruen


People also ask

What C is used for?

C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...

What is the full name of C?

In the real sense it has no meaning or full form. It was developed by Dennis Ritchie and Ken Thompson at AT&T bell Lab. First, they used to call it as B language then later they made some improvement into it and renamed it as C and its superscript as C++ which was invented by Dr. Stroustroupe.

Is C language easy?

C is a general-purpose language that most programmers learn before moving on to more complex languages. From Unix and Windows to Tic Tac Toe and Photoshop, several of the most commonly used applications today have been built on C. It is easy to learn because: A simple syntax with only 32 keywords.

What is C language?

C is an imperative procedural language supporting structured programming, lexical variable scope, and recursion, with a static type system. It was designed to be compiled to provide low-level access to memory and language constructs that map efficiently to machine instructions, all with minimal runtime support.


1 Answers

When you are debugging you can load symbols for a dll by going to Debug -> Windows -> Modules

Right click the appropriate dll and Select Load Symbols From -> Symbol Path

If you continue to have trouble with this and just want to see what is going on under the hood, you could open the dll in Reflector.

like image 183
Daniel Dyson Avatar answered Sep 30 '22 01:09

Daniel Dyson