Git Product home page Git Product logo

ppdb's People

Contributors

aaronrobinsonmsft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ppdb's Issues

Exception due to incorrect header Magic

Hello,

I'm using VS 2019. I have compiled the PPDB, created new .net core 3.1 console application project and tried to PPDBDump the pdb for that application. Unfortunately there is an exception:

./PPDBDump.exe "C:\Users\pkruk\Source\repos\NetCorePortablePdb\NetCorePortablePdb\bin\Debug\netcoreapp3.1\NetCorePortablePdb.dll"
Exception: 2 (Name 'Portable PDB', Table '-1')

It is thrown by this code in PortablePdbReader constructor:

    // Check min size and magic number: 'BJSB'
    if (_data_view.size() < sizeof(*header)
        || header->Magic != 0x424A5342)
    {
        throw Exception{ ErrorCode::CorruptFormat };
    }

The actual header->Magic value is 0x905A4D.

I'm attaching the NetCorePortablePdb.dll:

NetCorePortablePdb.zip

I have also tried with the same result:

  • .net core 3.0 and 2.0
  • use vs2017 to create pdb
  • .net framework 4.8 with full and portable pdb

Missing writer implementation

We need to write portable PDBs (and embedded) in our native scenario. It would be awesome if this static lib supported that as it would save us a bunch of time

Incorrect assertion for multi-line sequence points

Hello,

Problem description

Streams.cpp line 366 has following assertion:

        pt.EndColumn = pt.StartColumn + colRange;
        assert(pt.EndColumn < 0x10000);
        assert(pt.StartLine == pt.EndLine || pt.StartColumn < pt.EndColumn); // line 366

The condition evaluates to false for following code:

        static string GetPipeName() => IsWindows
        ? "a"
        : "b";

Here, the sequence points represents conditional operator, so start line is < end line, but start column is > end column. For example (9,40) - (11,14).

Fix

I assume the intention was to check if StartColumn < EndColumn only if they are in the same line:

        assert(pt.StartLine == pt.EndLine ? pt.StartColumn < pt.EndColumn : true);

By the way, can StartColumn == EndColumn (for one-line sequence points)?

Document library's usage in real-world production use-cases

Hi there, thank you for publishing this, it looks incredibly useful and well written!

One question that arises in deciding whether to take a dependency on PPDB is whether the tool has been rigorously tested in a production use-case (e.g. as part of a Microsoft service or product), or if it's more of a personal project that has only been tested in the context of your personal needs? Any info you could share would be highly appreciated!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.