Now printing information when changing function while single stepping.

diff --git a/programs/winedbg/winedbg.c b/programs/winedbg/winedbg.c
index c11df0d..072d184 100644
--- a/programs/winedbg/winedbg.c
+++ b/programs/winedbg/winedbg.c
@@ -552,6 +552,35 @@
         be_cpu->print_segment_info(dbg_curr_thread->handle, &dbg_context);
 	stack_backtrace(dbg_curr_tid, TRUE);
     }
+    else
+    {
+        static char*        last_name;
+        static char*        last_file;
+
+        char                buffer[sizeof(SYMBOL_INFO) + 256];
+        SYMBOL_INFO*        si = (SYMBOL_INFO*)buffer;
+        void*               lin = memory_to_linear_addr(&addr);
+        DWORD64             disp64;
+        IMAGEHLP_LINE       il;
+        DWORD               disp;
+
+        si->SizeOfStruct = sizeof(*si);
+        si->MaxNameLen   = 256;
+        il.SizeOfStruct = sizeof(il);
+        if (SymFromAddr(dbg_curr_process->handle, (DWORD_PTR)lin, &disp64, si) &&
+            SymGetLineFromAddr(dbg_curr_process->handle, (DWORD_PTR)lin, &disp, &il))
+        {
+            if ((!last_name || strcmp(last_name, si->Name)) ||
+                (!last_file || strcmp(last_file, il.FileName)))
+            {
+                HeapFree(GetProcessHeap(), 0, last_name);
+                HeapFree(GetProcessHeap(), 0, last_file);
+                last_name = strcpy(HeapAlloc(GetProcessHeap(), 0, strlen(si->Name) + 1), si->Name);
+                last_file = strcpy(HeapAlloc(GetProcessHeap(), 0, strlen(il.FileName) + 1), il.FileName);
+                dbg_printf("%s () at %s:%ld\n", last_name, last_file, il.LineNumber);
+            }
+        }
+    }
     if (!is_debug || is_break ||
         dbg_curr_thread->exec_mode == dbg_exec_step_over_insn ||
         dbg_curr_thread->exec_mode == dbg_exec_step_into_insn)