Requests - Create Requests Request Id Debug Entries
Create debug entries for a symbol request as specified by its identifier.
POST https://artifacts.dev.azure.com/{organization}/_apis/symbol/requests/{requestId}?collection={collection}&api-version=6.0-preview.1
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
organization
|
path | True |
string |
The name of the Azure DevOps organization. |
|
request
|
path | True |
string |
The symbol request identifier. |
|
api-version
|
query | True |
string |
Version of the API to use. This should be set to '6.0-preview.1' to use this version of the api. |
|
collection
|
query | True |
string |
A valid debug entry collection name. Must be "debugentries". |
Request Body
| Name | Type | Description |
|---|---|---|
| createBehavior |
Defines what to do when a debug entry in the batch already exists. |
|
| debugEntries |
The debug entries. |
Responses
| Name | Type | Description |
|---|---|---|
| 200 OK |
Successfully created debug entries for the specified request. |
|
| 400 Bad Request |
Could not create debug entries since the specified create behavior is not recognized. |
|
| Other Status Codes |
Could not create debug entries since at least one entry already exists and the specified create behavior is ThrowIfExists. |
Security
oauth2
Type:
oauth2
Flow:
accessCode
Authorization URL:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL:
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
Scopes
| Name | Description |
|---|---|
| vso.symbols_write | Grants the ability to read and write symbols. |
Examples
Sample request
POST https://artifacts.dev.azure.com/fabrikam/_apis/symbol/requests/9dc380b5c295c03188108014a73574987cdef9a4edce00b01c9ec2d05fa97c37?api-version=6.0-preview.1
{
"blobIdentifier": {
"identifierValue": "cZSUgWLJKRZmXuaLhvXo9NRdb2Be9Ek64KVv2qsz8jYA"
},
"clientKey": "symbol.exe/557a1d8ee000/symbol.exe",
"informationLevel": "binary"
}
Sample response
{
"blobIdentifier": {
"identifierValue": "cZSUgWLJKRZmXuaLhvXo9NRdb2Be9Ek64KVv2qsz8jYA"
},
"blobUri": "https://fabrikam.blob.core.windows.net/b-22ed989c337948c0a3e3ab4910ff3c94/7194948162C92916665EE68B86F5E8F4D45D6F605EF4493AE0A56FDAAB33F23600.blob?sas",
"clientKey": "symbol.exe/557a1d8ee000/symbol.exe",
"informationLevel": "binary",
"requestId": "9dc380b5c295c03188108014a73574987cdef9a4edce00b01c9ec2d05fa97c37",
"status": "created",
"createdBy": "00030000CA16C4DA@Live.com",
"createdDate": "2015-07-17T20:14:52",
"id": "symbol.exe/557a1d8ee000/symbol.exe/00000001",
"storageETag": "W/\"datetime'2015-07-17T20%3A14%3A52.4410239Z'\"",
"url": "https://artifacts.dev.azure.com/fabrikam/_apis/Symbol/requests/9dc380b5c295c03188108014a73574987cdef9a4edce00b01c9ec2d05fa97c37/debugentries/symbol.exe/557a1d8ee000/symbol.exe/00000001"
}
Definitions
| Name | Description |
|---|---|
|
Debug |
A dual-purpose data object, the debug entry is used by the client to publish the symbol file (with file's blob identifier, which can be calculated from VSTS hashing algorithm) or query the file (with a client key). Since the symbol server tries to return a matched symbol file with the richest information level, it may not always point to the same symbol file for different queries with same client key. |
|
Debug |
A batch of debug entry to create. |
|
Debug |
Defines what to do when a debug entry in the batch already exists. |
|
Debug |
The status of debug entry. |
|
Debug |
The information level this debug entry contains. |
|
Json |
BlobBlock hash formatted to be deserialized for symbol service. |
|
Json |
|
|
Json |
BlobIdentifier with block hashes formatted to be deserialzied for symbol service. |
DebugEntry
A dual-purpose data object, the debug entry is used by the client to publish the symbol file (with file's blob identifier, which can be calculated from VSTS hashing algorithm) or query the file (with a client key). Since the symbol server tries to return a matched symbol file with the richest information level, it may not always point to the same symbol file for different queries with same client key.
| Name | Type | Description |
|---|---|---|
| blobDetails |
Details of the blob formatted to be deserialized for symbol service. |
|
| blobIdentifier |
A blob identifier of the symbol file to upload to this debug entry. This property is mostly used during creation of debug entry (a.k.a. symbol publishing) to allow the server to query the existence of the blob. |
|
| blobUri |
string |
The URI to get the symbol file. Provided by the server, the URI contains authentication information and is readily accessible by plain HTTP GET request. The client is recommended to retrieve the file as soon as it can since the URI will expire in a short period. |
| clientKey |
string |
A key the client (debugger, for example) uses to find the debug entry. Note it is not unique for each different symbol file as it does not distinguish between those which only differ by information level. |
| createdBy |
string (uuid) |
The ID of user who created this item. Optional. |
| createdDate |
string (date-time) |
The date time when this item is created. Optional. |
| id |
string |
An identifier for this item. Optional. |
| informationLevel |
The information level this debug entry contains. |
|
| requestId |
string |
The identifier of symbol request to which this debug entry belongs. |
| size |
integer (int64) |
The size for the debug entry. |
| status |
The status of debug entry. |
|
| storageETag |
string |
An opaque ETag used to synchronize with the version stored at server end. Optional. |
| url |
string |
A URI which can be used to retrieve this item in its raw format. Optional. Note this is distinguished from other URIs that are present in a derived resource. |
DebugEntryCreateBatch
A batch of debug entry to create.
| Name | Type | Description |
|---|---|---|
| createBehavior |
Defines what to do when a debug entry in the batch already exists. |
|
| debugEntries |
The debug entries. |
DebugEntryCreateBehavior
Defines what to do when a debug entry in the batch already exists.
| Value | Description |
|---|---|
| throwIfExists |
Throw exceptions at server end. This will translate to 409 (Conflict) HTTP status code. |
| skipIfExists |
Do not add this debug entry. The rest of the batch, if any, is not affected. |
| overwriteIfExists |
Overwrite the existing debug entry. |
DebugEntryStatus
The status of debug entry.
| Value | Description |
|---|---|
| none |
The status of this debug entry is undefined or irrelevant in the current context. |
| created |
The debug entry is created and read to use. |
| blobMissing |
The symbol file for the requested debug entry is missing. |
DebugInformationLevel
The information level this debug entry contains.
| Value | Description |
|---|---|
| none |
If set, the .pdb file contains no debug information. |
| binary |
If set, the .pdb file contains debug information which is binary. |
| publics |
If set, the .pdb file contains public symbols. |
| traceFormatPresent |
If set, the .pdb file contains trace format. |
| typeInfo |
If set, the .pdb file contains type information. |
| lineNumbers |
If set, the .pdb file contains line number information. |
| globalSymbols |
If set, the .pdb file contains symbol information. |
| private |
If set, the .pdb file contains public symbols and has type, line number and symbol information. |
| sourceIndexed |
If set, the .pdb file supports the source server. |
JsonBlobBlockHash
BlobBlock hash formatted to be deserialized for symbol service.
| Name | Type | Description |
|---|---|---|
| hashBytes |
string[] (byte) |
Array of hash bytes. |
JsonBlobIdentifier
| Name | Type | Description |
|---|---|---|
| identifierValue |
string[] (byte) |
JsonBlobIdentifierWithBlocks
BlobIdentifier with block hashes formatted to be deserialzied for symbol service.
| Name | Type | Description |
|---|---|---|
| blockHashes |
List of blob block hashes. |
|
| identifierValue |
string[] (byte) |
Array of blobId bytes. |