Alexandre Julliard : ntdll: Improve some activation context traces.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jul 26 06:36:41 CDT 2007


Module: wine
Branch: master
Commit: 3b5963c98de2fa36e72df5f2d695f32c8f063ecf
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3b5963c98de2fa36e72df5f2d695f32c8f063ecf

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jul 26 11:05:09 2007 +0200

ntdll: Improve some activation context traces.

---

 dlls/ntdll/actctx.c |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/dlls/ntdll/actctx.c b/dlls/ntdll/actctx.c
index 1ab49ed..e712911 100644
--- a/dlls/ntdll/actctx.c
+++ b/dlls/ntdll/actctx.c
@@ -269,6 +269,11 @@ static inline const char* debugstr_xmlstr(const xmlstr_t* str)
     return debugstr_an(str->ptr, str->len);
 }
 
+static inline const char* debugstr_version(const struct version *ver)
+{
+    return wine_dbg_sprintf("%u.%u.%u.%u", ver->major, ver->minor, ver->build, ver->revision);
+}
+
 static struct assembly *add_assembly(ACTIVATION_CONTEXT *actctx, enum assembly_type at)
 {
     struct assembly *assembly;
@@ -774,8 +779,6 @@ static BOOL parse_assembly_identity_elem(xmlbuf_t* xmlbuf, ACTIVATION_CONTEXT* a
     xmlstr_t    attr_name, attr_value;
     BOOL        end = FALSE, error;
 
-    TRACE("\n");
-
     while (next_xml_attr(xmlbuf, &attr_name, &attr_value, &error, &end))
     {
         if (xmlstr_cmp(&attr_name, NAME_ATTR))
@@ -816,6 +819,9 @@ static BOOL parse_assembly_identity_elem(xmlbuf_t* xmlbuf, ACTIVATION_CONTEXT* a
         }
     }
 
+    TRACE( "name=%s version=%s arch=%s\n",
+           debugstr_w(ai->name), debugstr_version(&ai->version), debugstr_w(ai->arch) );
+
     if (error || end) return end;
     return parse_expect_elem(xmlbuf, ELEM_END(ASSEMBLYIDENTITY_ELEM)) && parse_end_element(xmlbuf);
 }
@@ -1097,7 +1103,8 @@ static BOOL parse_dependent_assembly_elem(xmlbuf_t* xmlbuf, struct actctx_loader
         !parse_assembly_identity_elem(xmlbuf, acl->actctx, &ai))
         return FALSE;
 
-    TRACE( "adding %s\n", debugstr_w(ai.name) );
+    TRACE( "adding name=%s version=%s arch=%s\n",
+           debugstr_w(ai.name), debugstr_version(&ai.version), debugstr_w(ai.arch) );
 
     /* store the newly found identity for later loading */
     if (!add_dependent_assembly_id(acl, &ai)) return FALSE;
@@ -1128,8 +1135,6 @@ static BOOL parse_dependency_elem(xmlbuf_t* xmlbuf, struct actctx_loader* acl)
     xmlstr_t attr_name, attr_value, elem;
     BOOL end = FALSE, ret = TRUE, error, optional = FALSE;
 
-    TRACE("\n");
-
     while (next_xml_attr(xmlbuf, &attr_name, &attr_value, &error, &end))
     {
         if (xmlstr_cmp(&attr_name, OPTIONAL_ATTR))
@@ -1463,7 +1468,17 @@ static NTSTATUS get_manifest_in_module( struct actctx_loader* acl, struct assemb
     const IMAGE_RESOURCE_DATA_ENTRY* entry = NULL;
     void *ptr;
 
-    TRACE( "looking for res %s in module %p %s\n", debugstr_w(resname), hModule, debugstr_w(filename) );
+    if (TRACE_ON(actctx))
+    {
+        if (!filename && !get_module_filename( hModule, &nameW, 0 ))
+        {
+            TRACE( "looking for res %s in module %p %s\n", debugstr_w(resname),
+                   hModule, debugstr_w(nameW.Buffer) );
+            RtlFreeUnicodeString( &nameW );
+        }
+        else TRACE( "looking for res %s in module %p %s\n", debugstr_w(resname),
+                    hModule, debugstr_w(filename) );
+    }
 
     if (!resname) return STATUS_INVALID_PARAMETER;
 
@@ -1792,6 +1807,9 @@ static NTSTATUS lookup_assembly(struct actctx_loader* acl,
     UNICODE_STRING nameW;
     HANDLE file;
 
+    TRACE( "looking for name=%s version=%s arch=%s\n",
+           debugstr_w(ai->name), debugstr_version(&ai->version), debugstr_w(ai->arch) );
+
     if ((status = lookup_winsxs(acl, ai)) != STATUS_NO_SUCH_FILE) return status;
 
     /* FIXME: add support for language specific lookup */




More information about the wine-cvs mailing list