google / sawbuck

Automatically exported from code.google.com/p/sawbuck
107 stars 40 forks source link

a type IDiaSymbol has no length property #81

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. run optimize.bat --verbose --input-dir=%s --output-dir=%s --iterations=10 
for chromium 31 build
2.
3.

What is the expected output? What do you see instead?
We expect chrome.dll and chrome_child.dll optimized. But receive error "Failed 
to retrieve type length properties: [hr=0x1, msg=...]" from function 
GetTypeInfo in file decomposer.cc。

What version of the product are you using? On what operating system?
code downloaded from here 2013/12/5 Beijing time, chromium 31 build, win 7, 64 
bit

Please provide any additional information below.
for the following code:
  ULONGLONG ull_length = 0;
  hr = type->get_length(&ull_length);
  if (hr != S_OK) {
    LOG(ERROR) << "Failed to retrieve type length properties: "
               << com::LogHr(hr) << ".";
    return false;
  }
I change it to:
  ULONGLONG ull_length = 0;
  hr = type->get_length(&ull_length);
  if (hr != S_OK) {
    LOG(ERROR) << "Failed to retrieve type length properties: "
               << com::LogHr(hr) << ".";
    if (S_FALSE != hr)
      return false;
  }
Then I get the expected result. But I am not sure is there any side effect per 
this change. Is it common that a type IDiaSymbol has no length property?

Original issue reported on code.google.com by yaoming...@gmail.com on 6 Dec 2013 at 10:11

GoogleCodeExporter commented 8 years ago
Is it POSSIBLE that a type IDiaSymbol has no length property?

Original comment by yaoming...@gmail.com on 10 Dec 2013 at 2:27

GoogleCodeExporter commented 8 years ago
Can you try with the latest version of Syzygy (which uses a new decomposer)? 
We're slowly deprecating the old decomposer, which is where you're running into 
trouble.

Original comment by chri...@chromium.org on 10 Dec 2013 at 3:44