Как я объединяю несколько файлов PDB?

Другой подход к использованию cte и temptables:

  1. . Определите значения var2, которые не включены в var1 для той же самой моей группы. список, который вы нашли в шаге 1.

Попробуйте ниже:

create table #temp (mygroup int, var1 int, var2 int)
insert into #temp values 
(1 ,         1,          null),
(1 ,         2,         1),
(1 ,         3,          2),
(1 ,         4,          null),
(2 ,        23,         23 ),
(2 ,        24,         20 ),
(2 ,        26,          null),
(3 ,        30,         10),
(3 ,        20,          null),
(3 ,        10,          null)

;with cte as (
select t.mygroup, t.var1, t2.var2
from #temp t
inner join #temp t2 on t2.var2=t.var1 and t2.mygroup = t.mygroup
)
select var2
into #notIncludeList
from #temp 
where var2 not in (select var1 from cte)

select mygroup
from #temp
where var2 in (select var2 from #notIncludeList)
group by mygroup

Это решение работало в MsSql-2014.

8
задан SamB 14 April 2010 в 21:28
поделиться

2 ответа

Я не делал C++ в течение долгого времени, но от этой статьи, кажется, что это - прием производительности для остановки воссоздания символов для общих заголовков.

Вы могли попробовать/Z7, чтобы встроить информацию в каждый obj, и не создать PDB и затем связать и воссоздать его с переосновой как в этой статье.

5
ответ дан 5 December 2019 в 13:02
поделиться

Никакая потребность объединить файлы PDB.

Скомпилируйте исходные файлы с/Z7, чтобы не создавать PDB во время шагов CL.EXE.

Используйте LIB.EXE для создания статического libaries со встроенной отладочной информацией. Используйте LINK.EXE вместо CL.EXE, чтобы связать, использовать/PDB для определения, куда отладочная информация идет.

Если Вы отлаживаете процесс с EXE и одним или несколькими DLLs, подаете Ваш отладчик PDB для каждого изображения (EXE или DLL).

5
ответ дан 5 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: