I'm trying to load a dll in WinDbg and got this error. Here goes the detail.

1. Build A.dll using VisualC++ express.
2. Place A.pdb and A.dll in d:\test\ directory.
3. Set the image path and symbol path to d:\test

```
.sympath gives 
OK                 D:\test

```
4. try loading by using the following command

```
.reload /f A.dll

```

and it gives

```
"A.dll" was not found in the image list.
 Debugger will attempt to load "A.dll" at given base 00000000.

Please provide the full image name, including the extension (i.e. kernel32.dll)
for more reliable results.Base address and size overrides can be given as
.reload <image.ext>=<base>,<size>.
DBGENG:  wined3dwddm.dll - Partial symbol image load missing image info
DBGHELP: No header for wined3dwddm.dll.  Searching for dbg file
DBGHELP: d:\test\A.dbg - file not found
DBGHELP: d:\test\dll\A.dbg - path not found
DBGHELP: d:\test\symbols\dll\A.dbg - path not found
DBGHELP: .\A.dbg - file not found
DBGHELP: .\dll\A.dbg - path not found
DBGHELP: .\symbols\dll\A.dbg - path not found
DBGHELP: A.dll missing debug info.  Searching for pdb anyway

DBGHELP: wined3dwddm - private symbols & lines 
        d:\test\A.pdb - unmatched
Unable to add module at 00000000

```

In the last line "d:\test\A.pdb - unmatched", although it says this, I'm sure that the pdb file is the one from the build-result where the installed dlls are also generated from. 

**additional question**

As the answers suggest that A.dll is probably not loaded, here is an possible counter example. For this, I need to revise the question a bit to reflect the reality that I ran into.

I have set of dlls (say, A to Z dlls) which are built from open-source project. To be honest, I don't understand the full picture of the whole project and I want to figure this out with WinDbg by tracing functions.

Moreover, when I find A.dll in process explorer, it is there. 
And, if I try to load A.dll's symbol, I've got the above message. Is there something I miss here?

**Why I believe A.dll is loaded**

1. I print a uniqe message such as ("this\_is\_uniqe\_message\_from\_A.dll") in A.dll and I can see the message is printing continuously.
2. I can see A.dll in process explorer, linked to explorer process.

Additionally, (I'm not sure if it matters), I'm using Windows 8.1 on QEMU version 1.7.0.

**The cause of this problem and the solution**

The cause: The cause was actually very simple. The process that I want to debug is in user-space and I was in kernel-mode when I try to list the loaded modules.

The solution: I need to break into user-space (to the process that I want to debug) and then, I can see the module lists. Also, I can set breakpoint, etc.

I've posted the same question in MSDN forum and they answered me. See

<http://social.msdn.microsoft.com/Forums/vstudio/en-US/263a3d84-8256-4f03-a70e-47d482a24cfb/windbg-lm-command-does-not-show-all-loaded-modules?forum=windbg#263a3d84-8256-4f03-a70e-47d482a24cfb>