There is a minor bug in Mathematica 10.0.2 when using FindRoot to find a limit of integration yielding a given integral value when the integrand contains a Dirac delta function. In this case the syntax FindRoot[f[x]==a,{x,x0}] does not work but FindRoot[f[x]-a,{x,x0}] does. The code below is an illustration of the bug.
Clear["Global`*"]
f[x_] = DiracDelta[x] + Exp[-x];
t = FindRoot[Integrate[f[x], {x, z, \[Infinity]}] == .5, {z, 1}]
FindRoot::nlnum: The function value {False} is not a list of numbers with dimensions {1} at {z} = {1.}. >>
FindRoot::nlnum: The function value {False} is not a list of numbers with dimensions {1} at {z} = {1.}. >>
FindRoot[\!\(
\*SubsuperscriptBox[\(\[Integral]\), \(z\), \(\[Infinity]\)]\(f[
x] \[DifferentialD]x\)\) == 0.5, {z, 1}]
t = FindRoot[Integrate[f[x], {x, z, \[Infinity]}] - .5, {z, 1}]
{z -> 0.693147}
t = FindRoot[Integrate[f[x], {x, 0, z}] == 1.5, {z, 1}]
FindRoot::nlnum: The function value {False} is not a list of numbers with dimensions {1} at {z} = {1.}. >>
FindRoot::nlnum: The function value {False} is not a list of numbers with dimensions {1} at {z} = {1.}. >>
FindRoot[\!\(
\*SubsuperscriptBox[\(\[Integral]\), \(0\), \(z\)]\(f[
x] \[DifferentialD]x\)\) == 1.5, {z, 1}]
t = FindRoot[Integrate[f[x], {x, 0, z}] - 1.5, {z, 1}]
{z -> 0.693147}